我正在尝试使用Python编写一个套接字服务器,可以接收ICMP数据包。
以下是我的代码:
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但失败了。
我错过了什么或者完全走错了方向?
谢谢!