精华内容
下载资源
问答
  • java抓包工具

    热门讨论 2012-06-25 11:55:41
    毕业设计,抓包工具的设计与实现. 使用java调用jpcap编写。
  • Java抓包工具 jpcap WinPcap,无脑安装就可,这2个程序直接安装就好,但开发环境一定要切换到你安装版的jre或者jdk,他默认安装到这里的。 里面还有2个例子,可以学习下
  • JAVA抓包工具jpcap.zip

    2020-06-28 16:03:33
    JAVA抓包工具jpcap 32位 64位 86位合集 目前已测试64 和 86 可用 32位是我从官网下载的应该也可以 不过因为没用到所以32位没测试 目前是windows版本 x64的测试代码也在文件夹里面 目前正在试linux版本 后期成功以后...
  • java 抓包工具/网络嗅探源码,亲测可运行,包念64位jpcap.jar及对应jpcap.dll,感觉网上64位的Jpcap.dll比较难找,就打了个包上来。 里面放了2种版本的Jpcap(jpcap.jar+Jpcap.dll),都可以使用
  • java抓包工具jpcap

    2019-01-31 11:09:55
    本jar在win8.1 x64 系统下可用,其他未测试。通过该jarjava可以方便的进行Tcp/IP协议的分析
  • 包含64位和32位的,请注意区分,请先安装winPcap。。。
  • java 抓包工具 jpcap的下载与eclipse配置

    万次阅读 多人点赞 2018-06-15 22:38:43
    1.jpcap的下载 1.1建议去官网上下载官网jpcap下载如果打不开的话,文末我会提供网盘的下载链接的 ...1.3Jpcap.dll复制到java jdk的安装目录下的bin目录里 上面那个目录是默认安装的目录 2.eclipse...

    1.jpcap的下载

        1.1建议去官网上下载 官网jpcap下载 如果打不开的话,文末我会提供网盘的下载链接的

        官网下载完成,解压之后

        

        1.2WinpPcap双击安装即可,jacap1和jpcap2随便选一个进入

        1.3Jpcap.dll复制到java jdk的安装目录下的bin目录里

    上面那个目录是默认安装的目录

    2.eclipse导入jpcap.jar包

        2.1这个jar的位置一般不要随便移动,所以我在eclipse的目录里新建了一个jar文件夹,把平时的jar包都存放到那里了

    2.2 打开eclipse 右击你的java项目 Build Path --> Configure Bulide Path

        

        2.2.1会打开一个窗口,选择你储存的目录

        2.2.2选择之后,点击打开即可

    点那个都行

    2.2.3导入成功之后显示为

    3.代码测试

    
    import java.io.IOException;
    
    import jpcap.*;
    import jpcap.packet.IPPacket;
    import jpcap.packet.Packet;
    
    public class Test {
    
    	public static void main(String[] args) {
    		/*--------------	第一步绑定网络设备       --------------*/
    		NetworkInterface[] devices = JpcapCaptor.getDeviceList();
    
    		for (NetworkInterface n : devices) {
    			System.out.println(n.name + "     |     " + n.description);
    		}
    		System.out.println("-------------------------------------------");
    
    		JpcapCaptor jpcap = null;
    		int caplen = 1512;
    		boolean promiscCheck = true;
    
    		try {
    			jpcap = JpcapCaptor.openDevice(devices[1], caplen, promiscCheck, 50);
    			//0 或 1
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    
    		/*----------第二步抓包-----------------*/
    		int i = 0;
    		while (i < 10) {
    			Packet packet = jpcap.getPacket();
    			if (packet instanceof IPPacket && ((IPPacket) packet).version == 4) {
    				i++;
    				IPPacket ip = (IPPacket) packet;// 强转
    
    				System.out.println("版本:IPv4");
    				System.out.println("优先权:" + ip.priority);
    				System.out.println("区分服务:最大的吞吐量: " + ip.t_flag);
    				System.out.println("区分服务:最高的可靠性:" + ip.r_flag);
    				System.out.println("长度:" + ip.length);
    				System.out.println("标识:" + ip.ident);
    				System.out.println("DF:Don't Fragment: " + ip.dont_frag);
    				System.out.println("NF:Nore Fragment: " + ip.more_frag);
    				System.out.println("片偏移:" + ip.offset);
    				System.out.println("生存时间:" + ip.hop_limit);
    
    				String protocol = "";
    				switch (new Integer(ip.protocol)) {
    				case 1:
    					protocol = "ICMP";
    					break;
    				case 2:
    					protocol = "IGMP";
    					break;
    				case 6:
    					protocol = "TCP";
    					break;
    				case 8:
    					protocol = "EGP";
    					break;
    				case 9:
    					protocol = "IGP";
    					break;
    				case 17:
    					protocol = "UDP";
    					break;
    				case 41:
    					protocol = "IPv6";
    					break;
    				case 89:
    					protocol = "OSPF";
    					break;
    				default:
    					break;
    				}
    				System.out.println("协议:" + protocol);
    				System.out.println("源IP " + ip.src_ip.getHostAddress());
    				System.out.println("目的IP " + ip.dst_ip.getHostAddress());
    				System.out.println("源主机名: " + ip.src_ip);
    				System.out.println("目的主机名: " + ip.dst_ip);
    				System.out.println("----------------------------------------------");
    			}
    		}
    
    	}
    
    }

    正确的显示内容应该是

    如果这有第一行,而没有下面的内容,修改一下代码的25行,

     

    jpcap = JpcapCaptor.openDevice(devices[1], caplen, promiscCheck, 50);

    devices[1]改成devices[0]再运行一下,就可以了。

    PS:抓不到包,或者程序一直显示请稍等...... 解决办法:

     

    电脑打开这个界面

    看我的是第一个连接着网络,所以

    jpcap = JpcapCaptor.openDevice(devices[1], caplen, promiscCheck, 50);

    这行代码中的devices[1] 改为 devices[0],

    如果还没有,电脑在后台浏览个网页之类的,产生点流量

    如果还不行,不好意思 ,我也就不知道了,

     

     

    百度网盘下载 Jpcap 提取码: 187k 

    文件内容:

     

    展开全文
  • java抓包工具及配置

    千次阅读 2014-12-30 19:38:56
     java抓包程序,使用jpcpa.jar包    下载地址:http://download.csdn.net/detail/moshenglv/8315223    java的JPCAP.jar,不过一直调用的都是winpcap(jpcap.dll)实现的许多接口。  用winpcap 底层采用的...

    1、所需工具 jpcap.jar和jpcap.dll

      java抓包程序,使用jpcpa.jar包

      

      下载地址:http://download.csdn.net/detail/moshenglv/8315223

     

      java的JPCAP.jar,不过一直调用的都是winpcap(jpcap.dll)实现的许多接口。

      用winpcap  底层采用的是c写的一些可以直接控制网卡的东东。

    2、配置

      首先下载需要的两个包 jpcap.jar和jpcap.dll

      将jpcap.dll复制到 %jdk安装路径%jre/bin 下面

      然后将jpcap.jar引入java工程,build path-->add jars

    3、代码

     

    package netPackage;
    
    /*******************
     * JpcapTip.java
     */
    
    //import java.net.NetworkInterface;
    //import java.net.InetAddress;
    //import java.net.UnknownHostException;
    
    import java.io.BufferedWriter;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.OutputStreamWriter;
    import java.io.UnsupportedEncodingException;
    import java.net.InetAddress;
    import java.nio.charset.Charset;
    
    import jpcap.JpcapCaptor;
    import jpcap.NetworkInterface;
    import jpcap.NetworkInterfaceAddress;
    import jpcap.PacketReceiver;
    import jpcap.packet.ARPPacket;
    import jpcap.packet.ICMPPacket;
    import jpcap.packet.IPPacket;
    import jpcap.packet.Packet;
    import jpcap.packet.TCPPacket;
    import jpcap.packet.UDPPacket;
    
    public class NetPackage implements PacketReceiver {
    
    	String result="";
    	int dst_port;
    	String dst_ip =null;
    	String src_ip =null;
    	int src_port;
    	
    	public void receivePacket(Packet packet) {
    		/* 分析源IP地址和目的IP地址 */
    		/* 分析协议类型 */
    		if (packet.getClass().equals(IPPacket.class)) {
    			System.out.println("协议类型 :IP协议");
    			IPPacket ipPacket = (IPPacket) packet;
    			byte[] iph = ipPacket.option;
    			String iphstr = new String(iph);
    			System.out.println(iphstr);
    		}
    
    		if (packet.getClass().equals(ARPPacket.class)) {
    			readHead(packet);
    			System.out.println("协议类型 :ARP协议");
    			try {
    				ARPPacket arpPacket = (ARPPacket) packet;
    				System.out.println("源网卡MAC地址为 :"
    						+ arpPacket.getSenderHardwareAddress());
    				System.out.println("源IP地址为 :"
    						+ arpPacket.getSenderProtocolAddress());
    				src_ip = ""+arpPacket.getSenderProtocolAddress();
    				System.out.println("目的网卡MAC地址为 :"
    						+ arpPacket.getTargetHardwareAddress());
    				System.out.println("目的IP地址为 :"
    						+ arpPacket.getTargetProtocolAddress());
                    dst_ip = ""+arpPacket.getTargetProtocolAddress();
                    result+="协议类型 :ARP协议 \n";
                    result+="源网卡MAC地址为 :"
    						+ arpPacket.getSenderHardwareAddress()+"\n";
                    result+="目的网卡MAC地址为 :"
    						+ arpPacket.getTargetHardwareAddress()+"\n";
                    result+="源ip:"+src_ip+"\n"+"目的ip:"+dst_ip+"\n";
                    
                    readData(packet);
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    		} else if (packet.getClass().equals(UDPPacket.class)) {
    			readHead(packet);
    			System.out.println("协议类型 :UDP协议");
    			try {
    				UDPPacket udpPacket = (UDPPacket) packet;
    				System.out.println("源IP地址为 :" + udpPacket.src_ip);
    				src_port = udpPacket.src_port;
    				System.out.println("源端口为:" + src_port);
    				System.out.println("目的IP地址为 :" + udpPacket.dst_ip);
    				dst_port = udpPacket.dst_port;
    				System.out.println("目的端口为:" + dst_port);
    				
    				dst_ip = ""+udpPacket.dst_ip;
    				src_ip = ""+udpPacket.src_ip;
    				
    				result+="协议类型 :UDP协议 \n";
    				result+="源IP地址为 :" + udpPacket.src_ip+"\n"
    				+"源端口为:" + src_port+"\n"
    				+"目的IP地址为 :" + udpPacket.dst_ip+"\n"
    				+"目的端口为:" + dst_port+"\n";
    				
    				readData(packet);
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    		} else if (packet.getClass().equals(TCPPacket.class)) {
    			readHead(packet);
    			System.out.println("协议类型 :TCP协议");
    			try {
    				TCPPacket tcpPacket = (TCPPacket) packet;
    				src_port = tcpPacket.src_port;
    				System.out.println("源IP地址为 :" + tcpPacket.src_ip);
    				System.out.println("源端口为:" + src_port);
    				System.out.println("目的IP地址为 :" + tcpPacket.dst_ip);
    				dst_port = tcpPacket.dst_port;
    				System.out.println("目的端口为:" + dst_port);
    				
    				result+="协议类型 :TCP协议 \n";
    				result+="源IP地址为 :" + tcpPacket.src_ip+"\n"
    				+"源端口为:" + src_port+"\n"
    				+"目的IP地址为 :" + tcpPacket.dst_ip+"\n"
    				+"目的端口为:" + dst_port+"\n";
    				
    				readData(packet);
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    		} else if (packet.getClass().equals(ICMPPacket.class))
    			{
    			readHead(packet);
    			  System.out.println("协议类型 :ICMP协议");
    			  result+="协议类型 :ICMP协议"+"\n";
    			  readData(packet);
    		}
    		
    		write(result);
    		result="";
    	}
    
    	public void readHead(Packet packet){
    		System.out.println("********************************************");
    		result+="********************************************"+"\n";
    		/* IP数据报报文头 */
    		byte[] l = packet.header;
    		String str = "";
    		System.out.print("报文头 : ");
    		for (int i = 0; i < l.length; i++) {
    			int m = 0;
    			m = l[i];
    			m = m << 24;
    			m = m >>> 24;
    			str = str + Integer.toHexString(m);
    		}
    		System.out.println(str);
    		int d = l.length;
    		System.out.println("首部长度 :" + (d * 8) + "bit");
    		
    		result+="报文头 : "+str+"\n";
            result+="首部长度 :" + (d * 8) + "bit"+"\n";
    	}
    	
    	public void readData(Packet packet){
    		/* IP数据报文数据 */
    		byte[] k = packet.data;
    		String str1 = "", str2 = "";
    		System.out.print("数据 : ");
    		for (int i = 0; i < k.length; i++) {
    			try {
    				str1 = new String(k, "utf-8");
    			} catch (UnsupportedEncodingException e) {
    			}
    		}
    		try {
    			str2 =new String(k, "gb2312");
    		} catch (UnsupportedEncodingException e) {
    			e.printStackTrace();
    		}
    		System.out.println(str1);
    		String s = " " + packet.getClass();
    		System.out.println("数据报类型 :" + s.substring(s.lastIndexOf(".") + 1));
    
    		result+="数据报类型 :" + s.substring(s.lastIndexOf(".") + 1)+"\n";
    		result+="数据 : "+str1+"\n";
    		result+="******************************************** \n";
    	}
    	
    	private void write(String result) {
    		try {
    			FileOutputStream fis = new FileOutputStream("F:\\result.txt",true);
    			BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(fis));
    			writer.write(result);
    			
    			writer.flush();
    			writer.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	public static void main(String[] args) throws Exception {
    
    		NetworkInterface[] devices = JpcapCaptor.getDeviceList(); 
    		// for (int i =0; i<devices.length;i++) {
    		int a = 0;
    		// try {
    		/* 本地网络信息 */
    		byte[] b = devices[1].mac_address; // 网卡物理地址
    		// }
    		// catch() {}
    		System.out.print("网卡MAC : 00");
    		for (int j = 0; j < b.length; j++) {
    			// a=a<<8;
    			a = b[j];
    			a = a << 24;
    			a = a >>> 24;
    			System.out.print(Integer.toHexString(a));
    		}
    		System.out.println();
    		NetworkInterfaceAddress[] k = devices[1].addresses;
    
    		for (int n = 0; n < k.length; n++) {
    			System.out.println("本机IP地址 : " + k[n].address); // 本机IP地址
    			System.out.println("子网掩码   : " + k[n].subnet); // 子网掩码
    		}
    		System.out.println("网络连接类型 : " + devices[1].datalink_description);
    		// }
    		
    		//0:无线网卡   1:有线网卡
    		NetworkInterface deviceName = devices[0];
    		
    		/* 将网卡设为混杂模式下用网络设备deviceName */
    		JpcapCaptor jpcap = null;
    		try {
    			jpcap = JpcapCaptor.openDevice(deviceName, 2000, false, 1); 
    
    		} catch (Exception e) {
    		}
    		System.out.println(jpcap);
    		jpcap.loopPacket(-1, new NetPackage());
    		
    	}
    
    }

     

     

     

     

     

      运行结果:

    ********************************************
    报文头 : 105e7ffffa64273719b650804500a13610001114b1fa3f3de4effffffaff876c08d1a58
    首部长度 :336bit
    协议类型 :UDP协议 
    源IP地址为 :/10.63.61.228
    源端口为:65288
    目的IP地址为 :/239.255.255.250
    目的端口为:1900
    数据报类型 :UDPPacket
    数据 : M-SEARCH * HTTP/1.1
    Host:239.255.255.250:1900
    ST:urn:schemas-upnp-org:device:InternetGatewayDevice:1
    Man:"ssdp:discover"
    MX:3




    ******************************************** 
    ********************************************
    报文头 : ffffffffffff74258a78270860180640174258a78270a3f02000000a3f030
    首部长度 :336bit
    协议类型 :ARP协议 
    源网卡MAC地址为 :74:25:8a:78:02:70
    目的网卡MAC地址为 :00:00:00:00:00:00
    源ip:/10.63.0.2
    目的ip:/10.63.0.48
    数据报类型 :ARPPacket
    数据 : 
    ******************************************** 
    ********************************************
    报文头 : cda41b4fe5764273719b6508045003436114004068f1da3f3de4adc27fb019fb1bb51438840000802200803200245b413321142
    首部长度 :528bit
    协议类型 :TCP协议 
    源IP地址为 :/10.63.61.228
    源端口为:6651
    目的IP地址为 :/173.194.127.176
    目的端口为:443
    数据报类型 :TCPPacket
    数据 : 
    ******************************************** 
    ********************************************
    报文头 : cda41b4fe5764273719b6508045003436124004068f1ca3f3de4adc27fb019fd1bbc38de736000080220013400245b413321142
    首部长度 :528bit
    协议类型 :TCP协议 
    源IP地址为 :/10.63.61.228
    源端口为:6653
    目的IP地址为 :/173.194.127.176
    目的端口为:443
    数据报类型 :TCPPacket
    数据 : 
    ******************************************** 

    欢迎关注公众号:

    展开全文
  • java APP抓包工具

    2018-08-23 16:26:52
    java,开发IOS和安卓APP时,可以使用该抓包工具,获取后台接口的入参和出参
  • java源码:网络抓包工具 jpcap.zip
  • 抓包工具wsockexp抓包工具454121212121
  • 如何通过抓包工具fiddler获取java程序的http请求

    百科地址:http://baike.baidu.com/view/868685.htm

    官网地址:http://fiddler2.com/

    firefox的fidder插件

    而java程序需要设置proxy才能生效:
     

    String url="http://www.zuidaima.com/";
    Proxy proxy = new Proxy(java.net.Proxy.Type.HTTP,new InetSocketAddress("127.0.0.1", 8888));
    URL serverUrl = new URL(url);
    HttpURLConnection conn = (HttpURLConnection) serverUrl.openConnection(proxy); 


    详细代码请下载:http://www.zuidaima.com/code/file/1429831521764352.htm?dir=/1429831521764352.java

    展开全文
  • //fiddler抓包设置代理 Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 8888)); OkHttpClient client = new OkHttpClient().newBuilder().proxy(proxy).b...
    //fiddler抓包设置代理
            Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1",
                    8888));
            OkHttpClient client = new OkHttpClient().newBuilder().proxy(proxy).build();
    

    8888为fiddler默认端口。

    展开全文
  • Fiddler抓包工具

    2020-10-29 16:55:25
    抓包工具还是挺好用的,下载后打开即可,刷新浏览器,抓包工具就会根据刷新的链接地址来进行获取相应的状态信息,去官网上下载比较慢,需要翻墙工具。
  • burp抓包工具

    2018-03-11 20:06:46
    burp抓包工具,免费的burp,下载后解压课直接使用,需要java环境
  • 抓包工具的设计与实现 java代码

    千次阅读 2018-07-01 10:05:28
    正常运行的话,需修改下java环境,...对了,还需要导入一个jarcommons-lang3-3.7.jar(链接: https://pan.baidu.com/s/14y7_0vFoh2S4TdH-AyEq2Q 提取码: 3daf) 一个string工具类,代码之中使用到了他的一个方法 ...
  • BurpSuite.rar 抓包工具

    2021-06-16 10:45:28
    BurpSuite 抓包工具 java
  • jpcap java抓包必需jar包

    2018-06-15 19:22:04
    jPCAP在JAVA中,并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用winpcap/libpcap,给 JAVA语言提供一个公共的接口,从而实现了平台无关性。
  • charles抓包工具

    2018-12-07 21:24:03
    可以在mac、Windows上使用的一款抓包工具,功能非常强大
  • Jpcap 是捕获和发送网络Java 库。Jpcap 是基于 libcap 和 winpcap 的,所以 Jpcap 可以运行在任意支持 libcap 或者 winpcap 的平台上(Linux ,Windows,FreeBSD 和 Mac OS X)。Jpcap 支持以下的集中数据包...
  • 最近很多同学,说面试的时候被问道,有没有用过什么抓包工具,其实抓包工具并没有什么很难的工具,只要你知道你要用抓包是干嘛的,就知道该怎么用了!一般 对于测试而言,并不需要我们去做断点或者是调试代码什么的...
  • 里面包含了java抓包所需要的jar包和dll文件
  • 常用抓包工具(可编程抓包工具

    千次阅读 2018-10-19 19:43:27
    一、网络抓包工具 1、wireshark 网络抓包工具,可以抓取除应用层,整个网络的数据包 用途:一般用来作为网络分析工具使用 地址:https://www.wireshark.org/ 二、应用层抓包工具(http、https等 ) 1、Charles...
  • 主要介绍了java抓包后对pcap文件解析示例,需要的朋友可以参考下
  • 抓包工具Fiddler安装包

    2021-05-18 16:42:48
    抓包工具Fiddler安装包,用于抓取请求地址
  • 根据域名去抓取相应的tcp数据包,统计到的该域名数量,可以通过period.txt配置数量阀值,到的数量超过配置数,就停止网络访问。启动网络时间也可配置。
  • 抓包工具Paros

    2016-07-12 13:08:28
    抓包工具Paros,需要Java运行环境

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,403
精华内容 11,761
关键字:

java抓包工具

java 订阅