r.addElement( packet.data.length ); //数据长度
r.addElement( ((IPPacket)packet).dont_frag == true ? "分段" : "不分段" ); // 是否不
分段
r.addElement( ((IPPacket)packet).offset ); //数据长度
strtmp = "";
for(int i=0;i<packet.header.length;i++){
strtmp += Byte.toString(packet.header[i]);
}
r.addElement(strtmp); //首部内容
strtmp = "";
for(int i=0;i<packet.data.length;i++){
strtmp += Byte.toString(packet.data[i]);
}
r.addElement(strtmp); //数据内容
rows.addElement(r);
tabledisplay.addNotify();
}
catch( Exception e)
{
}
}
}
在这里定义了一个向量 r,当有数据包产生时,便将数据包赋值给 r,rows.AddElement(r)语句便将 r 添
加到向量 rows 中,然后 tabledisplay.addNotify();语句就会刷新界面将新的数据包显示出来。
第二个程序:抓包
package netcap;
import java.io.File;
import java.util.Vector;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import jpcap.JpcapCaptor;
import jpcap.PacketReceiver;
import jpcap.JpcapWriter;
import jpcap.packet.Packet;
public class Netcaptor {