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

📄 data.java

📁 网络数据包截取。可以实现监视本机器与互连网的通信。
💻 JAVA
字号:
 import java.io.*;
import jpcap.*;
import jpcap.packet.*;
import java.sql.*;


public class data implements PacketReceiver
{
	public void receivePacket(Packet packet)
      { 
    	System.out.println("ok");
      } 

	public static void main(String[] args) 
     { 
        String src_ip="";
        String dst_ip="";
        int protocol=0;
        int length=0;
        int version=0;
	int offset=0;
	int hop_limit=0;
	int rsv_tos=0;
	
	try
        {
          NetworkInterface[] NI=JpcapCaptor.getDeviceList();
          JpcapCaptor jpcap1= JpcapCaptor.openDevice(NI[1], 1024, true, 1000); 
          for(int j=0;j<40000;j++)                                  //循环获取数据包,10W个太多,这里只采集4W个
          {
              Packet pa=jpcap1.getPacket();        //获取数据包
              IPPacket ip=(IPPacket)pa;
              if (ip instanceof IPPacket)         //判断是否为IP数据包,如果是就收集并显示,否则丢弃
                {  				  //输出IP数据包的一些信息
                     System.out.println(ip.src_ip+"\t"+ip.dst_ip+"\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");
                    					//把IP数据包写入到文本文件
         	     RandomAccessFile rf = new RandomAccessFile("shiqy34.txt", "rw");/*把信息存储在shiqy34.txt中*/
                     rf.seek(rf.length());                                   
                     rf.writeBytes(ip.src_ip+"\t"+ip.dst_ip+"\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");/*向txt文件写入IP的源地址,目标地址,高层协议,长度, 版本号,标识符(序号),标志,段偏移量,数据报的寿命数值,服务型号,数据*/
  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                  //*把IP数据包的信息存放到数据库中*/
			src_ip=ip.src_ip.toString();
                       dst_ip=ip.dst_ip.toString();
			protocol=ip.protocol;
                     length=ip.length;
                        version=ip.version;
			offset=ip.offset;
			hop_limit=ip.hop_limit;
			rsv_tos=ip.rsv_tos;
			String JDriver="sun.jdbc.odbc.JdbcOdbcDriver";   //驱动程序名
			String conURL="jdbc:odbc:whb34";             
try
                     {
                       Class.forName(JDriver);           //获取驱动程序并加载
                      }
                   catch(java.lang.ClassNotFoundException e)
                      { 
    	                System.out.println("ForName:"+e.getMessage());
    	              }
                   Connection con=DriverManager.getConnection(conURL);
                    Statement s=con.createStatement();
                    String query="insert into whb34 values//('"+src_ip+"','"+dst_ip+"','"+protocol+"','"+length+"','"+version+"','"+offset+"','"+hop_limit+"','"+rsv_tos+"')";
                    s.executeUpdate(query);
                   s.close();
                    con.close();        	//关闭操作
               }
          }
       }
      catch (Exception e) 
        { e.printStackTrace(); }
   }
  
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -