我正在编写一个基本程序,该程序可以监听线路并获取所有数据包以供以后分析,而我无法正确使用socket.recvfrom函数。
我正在使用socket.recvfrom(65565)来获取框架并稍后对其进行分析。根据python3文档,它应该返回一个元组,其中包含该IP框架的数据和源地址。
相反,我有一个数据元组和一个数组。在第二个数组中,我具有捕获数据包的接口以及其他元素。我无法在其中找到IP地址。
有人知道这些其他元素是什么以及如何获取源IP地址
def create_socket():
try:
s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW,
socket.htons(0x0003))
except socket.error as msg:
print ("Ne peut pas créer la socket. Code erreur : %d. Message : %s" %
(msg[0], msg[1]))
sys.exit()
return s
def listen_trafic(sock):
while True:
packet, address = sock.recvfrom(
print ("address %s" % socket.inet_ntoa(address))
# generates an error
...
...