Python 在套接字(ICMP)上接收数据
我已经研究了Python的套接字模块,并想尝试一些东西。但不幸的是,我甚至无法接收一些数据(总是在recvfrom()上引发socket.timeout)。以下是当前状态:Python 在套接字(ICMP)上接收数据,python,sockets,icmp,Python,Sockets,Icmp,我已经研究了Python的套接字模块,并想尝试一些东西。但不幸的是,我甚至无法接收一些数据(总是在recvfrom()上引发socket.timeout)。以下是当前状态: import socket connection = socket.socket(proto = socket.IPPROTO_ICMP, type = socket.SOCK_RAW) connection.settimeout(1) connection.sendto(b'', ('8.8.8.8', 80)) con
import socket
connection = socket.socket(proto = socket.IPPROTO_ICMP, type = socket.SOCK_RAW)
connection.settimeout(1)
connection.sendto(b'', ('8.8.8.8', 80))
connection.recvfrom(1)
connection.close()
我所有尝试仅从该服务器接收简单回复的操作都失败。也许有人能告诉我怎么做。ICMP数据包很难是空的bytestring。与许多经过深思熟虑的数据包类型一样,它包含一个报头和一些控制消息。这里有一些你可以使用的资源,以及一些文档(在互联网上还有很多)