使用jpcap编写抓包程序

本文介绍了如何利用JPcap这个Java库来简化抓包程序的编写工作。相较于直接使用winpcap,JPcap提供了更便捷的API。文章提到了在Windows环境下配置winpcap和JPcap的步骤,并给出了一个简单的主程序代码示例,用于读取网络接口并进行多线程抓包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         大致原理:winpcap提供底层工具,我们只需要使用它的函数就可以编程,然而很繁琐。java就再封装一层,就出现JPcap这个中间件了。使用对比之后,JPcap尼玛不要太方便。

附:工具:winpcap要安装,这个我就不说了。JPcap作为中间件你需要下载,我没有安装。1.将JPcap.dll动态链接库加入到我的 C:\Program Files\Java\jdk1.7.0_71\jre\bin 中。2.Jpacp.jar我直接外部配置路径了。

  

不多说,贴可用代码

主程序类,用于读取网卡接口,并开多线程从各个网卡上读取包

package com.sock1;


import java.util.Scanner;


import jpcap.JpcapCaptor;    
import jpcap.NetworkInterface;    
import jpcap.PacketReceiver;    
import jpcap.packet.*;    
/**  
 * 使用jpcap显示网络上的各种数据包  
 * @author www.NetJava.cn   
 */    
public class sock_main { 
private static int model;
        
    //程序启动主方法    
   public static void main(String args[]){ 
  
       try{  
      System.out.println("请输入你需要抓取的类型包:");
           System.out.println("TCP包输入‘1’");
           System.out.println("UDP包输入‘2’");
           System.out.println("ICMP包输入‘3’");
           System.out.println("ARP包输入‘4’");
           Scanner in=new Scanner(System.in);
           model = in.nextInt();
            //获取本机上的网络接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值