我正在尝试过滤数据包并在表达式与情况匹配时丢弃。我的意思是说,如果数据包来自192.168.1.100,它不应该传递到目的地(即192.168.1.119)。
<pre>PcapBpfProgram program = new PcapBpfProgram();
String expression = "host 192.168.1.100";
int optimize = 0;
int netmask = 0xFFFFFF00;
if (pcap.compile(program, expression, optimize, netmask) != Pcap.OK
{
System.err.println(pcap.getErr());
return;
}
if (pcap.setFilter(program) != Pcap.OK)
{
System.err.println(pcap.getErr());
return;
}</pre>
在我的CASE中,主机为192.168.1.100,因此 Pcap.OK 返回true。但数据包仍在传输到目的地。如何阻止该数据包传输???
TIA
答案 0 :(得分:0)
我最近构建了一个数据包嗅探器,将特定的RTP数据包重定向到不同的路径,我想这正是你需要做的。您可以从我的GitHub存储库中获取“Lizardous”文件夹下的完整代码:
https://github.com/Longhitano/main_projects/blob/master/Lizardous/src/j1/lizardous.java