Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.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 Scapy中SMB/浏览器数据包的不可读编码_Python_Packet_Scapy_Smb_Netbios - Fatal编程技术网

Python Scapy中SMB/浏览器数据包的不可读编码

Python Scapy中SMB/浏览器数据包的不可读编码,python,packet,scapy,smb,netbios,Python,Packet,Scapy,Smb,Netbios,我试图用scapy(python)解析一个pcap文件,并在TCP上面的层获取原始数据。 在wireshark上,所有图层均正确显示: 但在斯卡皮,我看到的只是一个原始层。。。 我在想也许它没有很好地解析数据包? 可能模块化的NetBIOS没有加载?或者我没有正确导入模块? (我试着: 导入scapy.all、导入scapy、导入scapy.layers.smb) 如何使scapy正确加载数据包的层 谢谢 如果有人有类似的问题… 你需要像这样的东西 数据包[TCP]。将有效负载解码为(NBT

我试图用scapy(python)解析一个pcap文件,并在TCP上面的层获取原始数据。 在wireshark上,所有图层均正确显示:

但在斯卡皮,我看到的只是一个原始层。。。

我在想也许它没有很好地解析数据包? 可能模块化的NetBIOS没有加载?或者我没有正确导入模块? (我试着: 导入scapy.all、导入scapy、导入scapy.layers.smb) 如何使scapy正确加载数据包的层


谢谢

如果有人有类似的问题… 你需要像这样的东西
数据包[TCP]。将有效负载解码为(NBT会话)

然后您将通过scapy获得解码层:

 packet[TCP].show()


[ TCP ]
 sport     = microsoft_ds

此外,您还可以在此之后尝试解码具有不同类别的数据包:

packet.decode_payload_as(SMBNegociate Protocol Request Header)

你能给我们看看你的代码和可能的数据包吗?嘿!我刚刚嗅到来自我家庭网络的一些流量,python解释器中的代码只是用pcap文件创建了一个PcapReader,并显示了它的第一个数据包…@ToMeRh您找到了解决问题的方法吗?更好的答案是自己将您使用的TCP端口绑定到SMB数据包。默认情况下,Scapy不会注册所有可能的端口。请参见
bind_layers
@Cukic0d您的意思是这样的吗
bind_layers(TCP,smb,sport=445)bind_layers(TCP,smb,dport=445)
I获取并出错`AttributeError:module'scapy.layers.smb'没有属性'\u重载字段'`它不是“smb”,而是一个真正的数据包。由于SMB上层是netbios,请查看scapy源代码中的scapy/layers/netbios.py文件。您只需为自己的协议模拟底部的绑定
packet.decode_payload_as(SMBNegociate Protocol Request Header)