我一直在尝试使用python在Windows中制作数据包嗅探器,但我遇到了一些麻烦。
我现在的基本代码是
import socket
import struct
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
host = socket.gethostbyname(socket.gethostname())
s.bind((host, 0))
while True:
print(s.recv(2048))
我已经开始接收信息,这很好,但我不确定我得到的是我想要的。
我想接收并显示所有入站以太网帧。
根据我在堆栈溢出时看到的另一个答案,就使用套接字而言,这只能在linux上完成。 他们说要在Windows上执行此操作,需要使用WinPcap。
是真的,如果是的话,我目前收到的是什么信息,因为s.recv()以字节串的形式返回一些输出:
B'E \ X00 \ X00(j \ XCC @ \ X00 = \ X06 \ xe9 \ xc4h \ x10m \ X12 \ n \ X17 \ n \ X06 \ X01 \ XBB \ xc7 \ XBC \ xe0 \ xb8s | \ x14d \ XAD \ xbcP \ X10 \ X00 \ X1F \ XE6 \ xa8 \ X00 \ X00'
对不起,如果我的问题有任何混乱,我有点像初学者。