Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在套接字(ICMP)上接收数据_Python_Sockets_Icmp - Fatal编程技术网

Python 在套接字(ICMP)上接收数据

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

我已经研究了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))
connection.recvfrom(1)
connection.close()

我所有尝试仅从该服务器接收简单回复的操作都失败。也许有人能告诉我怎么做。

ICMP数据包很难是空的bytestring。与许多经过深思熟虑的数据包类型一样,它包含一个报头和一些控制消息。这里有一些你可以使用的资源,以及一些文档(在互联网上还有很多)