⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 threadreadpacket.java

📁 用java写的网路抓包程序
💻 JAVA
字号:
package netcap;
import jpcap.*;
import java.io.*;

/**
 * <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 msg1,ipInfo;
  int ipLen;
  byte[] ipData=null;
  static MainFrame mainFrame;
  public threadreadpacket(int iplen,String ipinfo,byte[] ipdata,MainFrame mainFr,long Count) {
    ipLen=iplen;
    ipData=ipdata;
    ipInfo=ipinfo;
    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%16==15)
                      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 + " IPPacket:";
    msg1 = msg1 + "\nIPPacket length: " + ipLen; //包长度
    msg1 = msg1 + "\nIPPacket Info: " + ipInfo;
    msg1=msg1+"\nIPPacket Data:\n"+bytetostring(ipData);
    mainFrame.textArea1.setText(msg1);
    if (ipData!=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 + -