为什么用Jpcap抓Tcp包,抓到的特别少?只有一次等了好长时间抓到一个,其他时候都没有
public static void main(String[] args) throws IOException {
NetworkInterface[] devices=JpcapCaptor.getDeviceList();
for(NetworkInterface n : devices)
System.out.println(n.name + " | " + n.description );
System.out.println("------------------------------------");
JpcapCaptor jpcap=null;
int caplen = 65535;
boolean promiscCheck = true;
try {
jpcap=JpcapCaptor.openDevice(devices[1],caplen,promiscCheck,50);
} catch (IOException e) {
e.printStackTrace();
}
int j = 0;
while(j < 100)
{
Packet packet = jpcap.getPacket();
if(packet instanceof TCPPacket )
{
TCPPacket tcpPacket = (TCPPacket)packet;
if(tcpPacket.src_port==80||tcpPacket.dst_port==80)
{
j++;
System.out.print("数据:n"+j);
for (int i = 0; i < tcpPacket.data.length; i++) {
System.out.print((char)tcpPacket.data[i]);
}
}
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你防火墙关了试试