BPF / Wincap过滤器无法在Pcap.net中运行

时间:2014-07-30 20:22:23

标签: vb.net winpcap pcap.net

我正在使用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问题?

1 个答案:

答案 0 :(得分:0)

打开设备,快照长度设置为100,这意味着您将所有数据包剪切为最多100个字节。

你应该做

selectedOutputDevice.Open(65536, PacketDeviceOpenAttributes.Promiscuous, 300)

代替。

请参阅tutorial