使用 bash 脚本在 Kali Linux 中打开套接字

使用 bash 脚本在 Kali Linux 中打开套接字

我知道如何在 Ubuntu 中使用以下命令打开 TCP 或 UDP 套接字:

exec 3<>/dev/tcp/google.com/80

例如:

我们可以在端口 80 上打开 TCP 套接字,但在 Kali Linux 中没有TCP目录执行命令。

  1. 谁能告诉我如何在 Kali Linux 中打开套接字?

  2. 有没有更好或更标准的方法来使用 bash (脚本)打开 TCP/UDP 套接字?

答案1

有问题的代码实际上并不依赖于/dev/tcp文件系统上的现有代码。相反,它是 Bash 本身的一个功能。例如,如果您向示例中的文件描述符 3 写入一个简单的 HTTP 请求,您应该得到一个响应:

> ls /dev/tcp ls: /dev/tcp: No such file or directory
> exec 3<>/dev/tcp/google.com/80
> echo -e "GET / HTTP/1.1\n\r" >&3
> cat <&3 
HTTP/1.1 302 Found 
Cache-Control: private
Content-Type: text/html; 
charset=UTF-8 
[...SNIP...]

如果这在您的 shell 中不起作用,则您使用的默认 shell 可能没有此特定功能。

在 shell 脚本内建立 TCP/UDP 连接的其他流行方法包括netcatsocat公用设施。

相关内容