gpt4 book ai didi

sockets - Netcat:使用 nc -l port_number 而不是 nc -l -p port_number

转载 作者:行者123 更新时间:2023-12-04 17:23:42 24 4
gpt4 key购买 nike

这个问题是在这个问题之后:Sockets working in openSUSE do not work in Debian?

在我的 Debian 系统上使用套接字时,我必须使用 nc -l -p port_number 来模拟我想与之交谈的服务器。如果我使用 nc -l port_number,它会在使用套接字连接函数时失败,并且 strerror(errno) 会说“连接被拒绝”。

没有 -p 选项的 Netcat 在其他 Linux 发行版上运行良好,我应该对我的配置进行哪些更改?

最佳答案

不要调整你的设置。 netcat 有多种实现;并非所有人的行为都相同。

特别是,netcat 的“传统”版本,这可能就是您在 Debian 系统上安装的版本,如果您省略 -p,最终会做一些完全出乎意料的事情。 ("port") 标志:它最终会将最后一个参数视为主机名,将其传递给 inet_aton() ,这会将其转换为无意义的 IP 地址(例如,1234 将变为 0.0.4.210),然后将继续忽略该 IP 地址并监听具有自动分配(可能是随机)端口号的套接字。

这种行为显然很愚蠢,所以 netcat 的其他一些实现会假设你的意思是 -p .但是,您正在使用的那个没有,所以通过 -p选项。

关于sockets - Netcat:使用 nc -l port_number 而不是 nc -l -p port_number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15318780/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com