我想用s.sendto(packet, (ip, port))检测ip端口是否开启,但报错[Errno 32] Broken pipe,这正常吗
时间: 2024-04-23 19:22:39 浏览: 42
用Socket编程实现TCP_IP网络接口.pdf
如果您使用`s.sendto(packet, (ip, port))`向目标IP和端口发送UDP数据包,但收到`[Errno 32] Broken pipe`错误,则表示连接意外中断。
这可能是由于目标IP和端口未响应或由于中间网络设备阻止了数据包的传输。另外,如果您在发送UDP数据包之前未正确绑定套接字,则也可能导致此错误。
建议您尝试使用其他工具或方法来检测目标IP和端口是否开启,例如使用ping命令或telnet命令。如果您仍然想使用Python进行IP和端口扫描,则可以尝试使用Python的第三方库,如`nmap`或`scapy`。
阅读全文