这个问题是在这个问题之后:在 openSUSE 中工作的套接字在 Debian 中不起作用?
在 Debian 系统上使用套接字时,我必须使用 nc -l -p port_number 来模拟我想要与之通信的服务器。如果我使用 nc -l port_number,则使用套接字连接功能时会失败,并且 strerror(errno) 会显示“连接被拒绝”。
不带 -p 选项的 Netcat 在其他 Linux 发行版上运行良好,我应该更改哪些配置?
不要调整您的设置。 netcat 有多种实现;并非所有人的行为都相同。
特别是,netcat 的“传统”版本(可能是您在 Debian 系统上安装的版本)如果您省略了-p
(“port”) 标志:最终会将最后一个参数视为hostname,将其传递给inet_aton()
,这会将其转换为无意义的 IP 地址(例如,1234 将变为 0.0.4.210),然后将继续忽略该 IP 地址并使用自动分配的(可能是随机的)端口号侦听套接字。
这种行为显然很愚蠢,因此 netcat 的其他一些实现会假设您的意思是-p
。不过,您正在使用的不是这样,因此请传递-p
option.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)