📄 threadreadpacket.java
字号:
package netcap;
import jpcap.*;
import java.util.*;
import java.net.*;
import java.text.*;
import java.util.Timer;
import java.sql.*;
import java.lang.*;
/**
* <p>Title: NetCap</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: 5ics.net</p>
* @author interstar
* @version 1.0
*/
public class threadreadpacket extends Thread {
static long count; //计数
String msg,msg1,tcpInfo;
int tcpLen;
byte[] tcpData=null;
static MainFrame mainFrame;
public threadreadpacket(int tcplen,String tcpinfo,byte[] tcpdata,MainFrame mainFr,long Count)
{
tcpLen=tcplen;
tcpData=tcpdata;
tcpInfo=tcpinfo;
mainFrame=mainFr;
count=Count;
}
public String bytetostring(byte[] data)
{
String ls_rt="";
int ll_len;
int lsi_d;
ls_rt="";
ll_len = data.length;
for (int i=0;i<ll_len;i++)
{
lsi_d = data[i];
if (lsi_d<0)
{
lsi_d = 256+lsi_d;
}
ls_rt = ls_rt + toAstr(lsi_d);// + " ";
///if (i==ll_len-2)
// ls_rt=ls_rt+"\n";
}
return ls_rt;
}
public String toAstr( int data)
{
String ls_rt = "";
ls_rt = "";
ls_rt = ls_rt + toAscll(data/16);
data = data % 16;
ls_rt = ls_rt + toAscll(data);
return ls_rt;
}
public String toAscll(int data)
{
String str;
switch (data )
{
case 0: str = "0"; break;
case 1: str = "1"; break;
case 2: str = "2"; break;
case 3: str = "3"; break;
case 4: str = "4"; break;
case 5: str = "5"; break;
case 6: str = "6"; break;
case 7: str = "7"; break;
case 8: str = "8"; break;
case 9: str = "9"; break;
case 10: str = "A"; break;
case 11: str = "B"; break;
case 12: str = "C"; break;
case 13: str = "D"; break;
case 14: str = "E"; break;
case 15: str = "F"; break;
default :str = "0";break;
}
return str;
}
public void run()
{
msg1 = "The " + count + " TCPPacket:";
msg1 = msg1 + "\nTCPPacket length: " + tcpLen; //包长度
msg1 = msg1 + "\nTCPPacket Info: " + tcpInfo;
msg1=msg1+"\nTCPPacket Data:\n"+bytetostring(tcpData);
msg=bytetostring(tcpData);
mainFrame.textArea1.setText(msg1);
mainFrame.textArea2.setText(msg);
if (tcpData!=null) {
/* try {
RandomAccessFile rf = new RandomAccessFile("packet.cap", "rw");
rf.seek(rf.length());
rf.write((ipData));
rf.writeBytes("\n\n");
rf.close();
}
catch (Exception e) {
e.printStackTrace();
}
*/
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -