我想在Python中编写一个套接字服务器,可以接收ICMP数据包。Python的ICMP套接字服务器(不是TCP UDP)
这里是我的代码:
s = socket.socket(socket.AF_INET,socket.SOCK_RAW, socket.IPPROTO_ICMP)
host = socket.gethostbyname(socket.gethostname())
s.bind((host,0))
s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)
s.ioctl(socket.SIO_RCVALL, socket.RCVALL_ON)
不过,我不知道如何接收数据包 - 我试图使用s.listen但失败了。 我错过了什么,或者我完全错误的方向?
谢谢!
什么是错误信息? – MattH