美文网首页
Linux shell脚本中发起tcp、udp连接

Linux shell脚本中发起tcp、udp连接

作者: BlueBlueSummer | 来源:发表于2019-05-16 16:50 被阅读0次

发个好玩的东东。

通过/dev/tcp、/dev/udp可以直接在shell脚本中发起tcp、udp连接,方便又高效,平时用于测试啥的还是挺方便的。

先看下bash man里面的介绍,

/dev/tcp/host/port

If host is a valid hostname or Internet address, and port is

an integer port number or service  name,  bash  attempts  to

open a TCP connection to the corresponding socket.

/dev/udp/host/port

If host is a valid hostname or Internet address, and port is

an integer port number or service  name,  bash  attempts  to

open a UDP connection to the corresponding socket.

接下来,我们实操一下。在一台机器运行服务端程序,打印客户端消息,具体代码参考:基于TCP通信的简单服务端和客户端程序。

另一端使用上述方法发起tcp连接,并发送消息,

可见,可使用以下shell命令发起tcp连接,

exec 9>/dev/tcp/192.168.0.136/5000

其中9为执行的文件描述符。这里>重定向符表示该文件描述符只能写入,如果想读取,可使用一下命令,

exec 9<>/dev/tcp/192.168.52.136/5000

至于关闭连接,则通过以下命令,

exec 9>&-

其中,9代表刚才创建的描述符。

关于 >&-的解释,可以参考bash的man手册的REDIRECTION章节,

REDIRECTION

  ...

      Each redirection that may be preceded by a file descriptor number may instead be preceded

      by  a word of the form {varname}.  In this case, for each redirection operator except >&-

      and <&-, the shell will allocate a file descriptor greater than 10 and assign it to  var‐

      name.  If  >&-  or  <&-  is preceded by {varname}, the value of varname defines the file

      descriptor to close.

因此,也可以用以下命令关闭连接,

exec 9<&-

相关文章

  • Linux shell脚本中发起tcp、udp连接

    发个好玩的东东。 通过/dev/tcp、/dev/udp可以直接在shell脚本中发起tcp、udp连接,方便又高...

  • 反弹shell的方法总结

    前言 什么是反弹shell(reverse shell)?就是控制端监听某TCP/UDP端口,被控端发起请求到该端...

  • 反弹shell

    0X01 什么是反弹shell reverse shell,就是控制端监听在某TCP/UDP端口,被控端发起请求到...

  • 计算机网络02 - 传输层

    目录 TCP协议和UDP协议TCP首部TCP连接管理UDP首部 1. TCP协议和UDP协议 TCP协议:面向连接...

  • TCP 与 UDP

    TCP 与 UDP(主要说TCP)TCP/UDP端口号TCP/UDP端口号TCP连接的建立TCP连接的建立发送se...

  • 「基础知识总结」- 计算机网络

    TCP TCP和UDP区别 连接性: tcp:面向连接 udp: 无连接 可靠性: tcp:可靠(无差错、不丢失、...

  • Python网络编程概述

    网络中的术语解释 TCP和UDP的区别 是否连接: TCP面向连接(发送数据之前需要建立连接,三次握手).UDP面...

  • tcp协议和udp协议的差别

    tcp协议和udp协议的差别 TCP UDP 是否连接 面向连接 面向非连接 传输可...

  • TCP/IP(二)

    1. TCP与UDP的区别 TCP是面向连接的,UDP的无连接的 TCP交付保证:如果消息在传输中丢失,那么它将重...

  • TCP和UDP总结(区别、优缺点、应用实例)

    TCP和UDP的区别和优缺点以及应用实例 TCP和UDP区别总结: TCP面向连接,UDP是无连接的TCP在开始数...

网友评论

      本文标题:Linux shell脚本中发起tcp、udp连接

      本文链接:https://www.haomeiwen.com/subject/fqaiaqtx.html