我知道如何在 Ubuntu 中使用以下命令打开 TCP 或 UDP 套接字:
exec 3<>/dev/tcp/google.com/80
例如:
我们可以在端口 80 上打开 TCP 套接字,但在 Kali Linux 中没有TCP目录由执行命令。
谁能告诉我如何在 Kali Linux 中打开套接字?
有没有更好或更标准的方法来使用 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 可能没有此特定功能。