0

我正在尝试过滤数据包并在表达式匹配情况时丢弃。我的意思是说如果数据包来自 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>

在我的案例中,主机是 192.168.1.100,所以Pcap.OK返回 true。但数据包仍在传输到目的地。我怎样才能阻止该数据包的传输???

TIA

4

1 回答 1

0

我最近构建了一个数据包嗅探器,将特定的 RTP 数据包重定向到不同的目的地,我想这正是你需要做的。您可以从我的 GitHub 存储库中获取整个代码,位于“Lizardous”文件夹下:

https://github.com/Longhitano/main_projects/blob/master/Lizardous/src/j1/lizardous.java

于 2014-12-08T10:44:35.630 回答