📄 d0b475791386001c14dfe27e4216b9af
字号:
import jpcap.*;
import jpcap.packet.*;
public class Catchpic implements PacketReceiver
{
static int count1=0,count2=0;
static long t1=System.currentTimeMillis();
static long t2=0;
static int perpack_i=0;
static int perpack[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
public void receivePacket(Packet packet)
{ if(packet instanceof IPPacket) //判断是不是IP数据包
{ IPPacket ip;
ip=(IPPacket)packet;
count1++;
System.out.print(ip.src_ip.getHostAddress()+"\t"
+ip.dst_ip.getHostAddress()+"\t"+ip.protocol+"\t"
+ip.length+"\t"+ip.version+"\t"+ip.ident+"\t"
+ip.rsv_frag+"\t"+ip.offset+"\t"+ip.hop_limit
+"\t"+ip.rsv_tos+"\r\n");
t2=System.currentTimeMillis();
if(t2>(t1+4000))
{ t1=t2;
perpack_i++;
perpack[perpack_i]=(count1-count2)*5; //直观图缩小10倍
count2=count1;
}
}
}
public static void main(String[] args) throws Exception
{
NetworkInterface[] devices = JpcapCaptor.getDeviceList(); //获得网卡设备的信息
System.out.println("★捕获的网络数据包★: \n");
JpcapCaptor jpcap = JpcapCaptor.openDevice(devices[1],65535,true, 20); //选择有用的网卡,从而来捕获数据包
jpcap.loopPacket(1000, new Catchpic());
System.out.println("\n★运行结束★::捕获的数据包有: "+count1+"个");
Drawpicture p=new Drawpicture();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -