还是老样子,先插部分源代码
package test3;import jpcap.JpcapCaptor;
import jpcap.NetworkInterface;
import jpcap.PacketReceiver;
import jpcap.packet.Packet;
import jpcap.packet.TCPPacket;
import java.io.*;public class Main {
public static void main (String args[] ){
captureThread c=new captureThread();
Thread startThread=new Thread(c,"captureThread");
startThread.start();
}
}
class captureThread implements Runnable
{
JpcapCaptor jpcap=null;
JpcapTip jTip=new JpcapTip();
static String deviceName ;
// static String lastURL;
public captureThread()
{
NetworkInterface[] devices=JpcapCaptor.getDeviceList();
for(NetworkInterface n : devices)
System.out.println(n.name + " | " + n.description );
System.out.println("------------------------------------");
try{
jpcap = JpcapCaptor.openDevice(devices[0], 1028, true, 100);
}catch(IOException ex)
{System.out.println(ex);};
}
public void run()
{
while(true)
{
jpcap.loopPacket(-1, jTip);
//lastURL = jTip.url;
}
}
}
class JpcapTip implements PacketReceiver //JpcapTip抓包主程序
{
Decode d=new Decode();
String decode="";
String url="";
GetURL get=new GetURL();
// GetURLMeg g=new GetURLMeg();
static int total=0;
static long HTTPtotal=0;
static int packageNumber=0;
static long number[][]=new long [10][20];
static long num[][]=new long [5][2];
static long time_end=0;
static long time_process=0;
static byte[] tcpData;//null;
byte[] packetdata=null; //发送池
boolean getEndTime=false;
TCPPacket tcpPacket=null;
String packageName;
String msg="";
public void receivePacket(Packet p)
{
total++;
if(p instanceof TCPPacket)
{
tcpPacket=(TCPPacket)p;
if(tcpPacket.src_port==80||tcpPacket.dst_port==80)//判断是否是HTTP包
{ HTTPtotal++; //原为IPtotal
System.out.println(total);
//System.out.println(tcp.src_port);
processHTTPPackage();
}
}
}
public void processHTTPPackage() //将包写入TXT文件中
{
}整个程序写好之后,抓到的包都是同一个包!!!郁闷之极求大神指点迷津
package test3;import jpcap.JpcapCaptor;
import jpcap.NetworkInterface;
import jpcap.PacketReceiver;
import jpcap.packet.Packet;
import jpcap.packet.TCPPacket;
import java.io.*;public class Main {
public static void main (String args[] ){
captureThread c=new captureThread();
Thread startThread=new Thread(c,"captureThread");
startThread.start();
}
}
class captureThread implements Runnable
{
JpcapCaptor jpcap=null;
JpcapTip jTip=new JpcapTip();
static String deviceName ;
// static String lastURL;
public captureThread()
{
NetworkInterface[] devices=JpcapCaptor.getDeviceList();
for(NetworkInterface n : devices)
System.out.println(n.name + " | " + n.description );
System.out.println("------------------------------------");
try{
jpcap = JpcapCaptor.openDevice(devices[0], 1028, true, 100);
}catch(IOException ex)
{System.out.println(ex);};
}
public void run()
{
while(true)
{
jpcap.loopPacket(-1, jTip);
//lastURL = jTip.url;
}
}
}
class JpcapTip implements PacketReceiver //JpcapTip抓包主程序
{
Decode d=new Decode();
String decode="";
String url="";
GetURL get=new GetURL();
// GetURLMeg g=new GetURLMeg();
static int total=0;
static long HTTPtotal=0;
static int packageNumber=0;
static long number[][]=new long [10][20];
static long num[][]=new long [5][2];
static long time_end=0;
static long time_process=0;
static byte[] tcpData;//null;
byte[] packetdata=null; //发送池
boolean getEndTime=false;
TCPPacket tcpPacket=null;
String packageName;
String msg="";
public void receivePacket(Packet p)
{
total++;
if(p instanceof TCPPacket)
{
tcpPacket=(TCPPacket)p;
if(tcpPacket.src_port==80||tcpPacket.dst_port==80)//判断是否是HTTP包
{ HTTPtotal++; //原为IPtotal
System.out.println(total);
//System.out.println(tcp.src_port);
processHTTPPackage();
}
}
}
public void processHTTPPackage() //将包写入TXT文件中
{
}整个程序写好之后,抓到的包都是同一个包!!!郁闷之极求大神指点迷津
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货