我正在使用pcap.net进程广播数据包,并收听回复。我希望它接受的响应数据包是一定长度。但是,每当我添加一个过滤器时,它只返回长度为100的数据包。这是代码:
' Open the output device
Dim Communicator As PacketCommunicator = selectedOutputDevice.Open(100, PacketDeviceOpenAttributes.Promiscuous, 300)
Communicator.SetFilter("len >= 300")
' send broadcast packet
Communicator.SendPacket(BuildEthernetPacket(ReqInfoPkt, "ff:ff:ff:ff:ff:ff"))
' receive packets
While result = PacketCommunicatorReceiveResult.Ok And packetlist.Count < 500 And _
Not result = PacketCommunicatorReceiveResult.Timeout
result = Communicator.ReceivePacket(packet)
packetlist.Add(packet)
End While
以下是屏幕截图的链接:link我试过在pcap论坛上询问但没有得到回复。
那么我做错了什么?是否存在synatx问题?
答案 0 :(得分:0)
打开设备,快照长度设置为100,这意味着您将所有数据包剪切为最多100个字节。
你应该做
selectedOutputDevice.Open(65536, PacketDeviceOpenAttributes.Promiscuous, 300)
代替。
请参阅tutorial。