`

java使用抓包获得应用发送的对外的请求

    博客分类:
  • java
 
阅读更多

java使用jpcap抓包工具获得本机发送的所有tcp请求,根据tcp请求的内容可以调试某个应用启动后对外发送的相关http请求或者sql连接请求,这样可以很好的调试我们的程序。很不错的一种应用无侵入性的调试本机发送的http接口,sql连接接口等。

 

 

 


import java.io.UnsupportedEncodingException;
import java.net.InetAddress;

import jpcap.*;
import jpcap.packet.EthernetPacket;
import jpcap.packet.Packet;
import jpcap.packet.TCPPacket;

class Tcpdump implements PacketReceiver {
	public void receivePacket(Packet packet) {
//		System.out.println(packet);

		if (packet instanceof TCPPacket) {
			TCPPacket tcpPacket = (TCPPacket) packet;
			if(tcpPacket.src_ip.getHostAddress().equals(getIp())){
				EthernetPacket ethernetPacket = (EthernetPacket) packet.datalink;
				System.out.print("源IP:" + tcpPacket.src_ip + "  目的IP:"
						+ tcpPacket.dst_ip + "发送端口:" + tcpPacket.src_port
						+ " 接收端口:" + tcpPacket.dst_port + "\n");
				System.out
						.print("源MAC:" + ethernetPacket.getSourceAddress()
								+ " 目的MAC:"
								+ ethernetPacket.getDestinationAddress() + "\n");
				System.out.print("协议:" + tcpPacket.protocol + "\n");
				System.out.print("数据:\n");
				try {
					System.out.println(new String(tcpPacket.data,"utf-8"));
				} catch (UnsupportedEncodingException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
//				for (int i = 0; i < tcpPacket.data.length; i++)
//					System.out.print((char) tcpPacket.data[i]);	
			}
		}

	}
	
	public static String getIp(){
    	InetAddress inet = null;
		try {
			inet = InetAddress.getLocalHost();
	    	String ip = inet.getHostAddress();  //在某些linux机器上取到的ip是host绑定的本机ip,即127.0.0.1
	    	return ip;
		}catch(Exception e){
			
		}
		return null;
	}
} 

 

 

我先启动给一个查询数据库的一个应用,然后再启动下面的程序,

输出结果如下:   

 

 

 


 

 

 

  • 大小: 100.3 KB
分享到:
评论

相关推荐

    Java网络抓包 Java网络抓包

    Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络...

    Java jpcap抓包

    Java jpcap抓包是一种利用Java编程语言和jpcap库来实现网络数据包捕获的技术。jpcap是Java Packet Capture的缩写,是一个开源的网络协议分析库,允许开发者在Java应用程序中进行网络数据包的捕获和处理。在计算机...

    java实现网络抓包

    Jpcap提供了类似于libpcap(一个广泛用于抓包的C库)的功能,可以获取网络接口的数据包,然后对这些数据包进行解析。 数据包分析涉及到理解网络协议的结构。例如,对于TCP数据包,我们需要解析源和目标端口号、...

    Java语言实现抓包

    Java语言实现抓包是一种在应用程序中获取网络数据包的技术,主要应用于网络监控、故障排查、安全分析等领域。在这个项目中,我们使用了Jpcap库,这是一个Java接口,用于访问和处理网络接口上的原始数据包。Jpcap库...

    JAVA网络抓包程序源代码

    Java网络抓包程序是一种用于分析和记录网络通信的工具,其源代码可以帮助开发者理解网络数据包的捕获和解析过程。在Java中实现这样的程序,通常会涉及到几个关键知识点: 1. **网络协议理解**:网络抓包首先要理解...

    java抓包程序

    2. **Java实现抓包的基础**:在Java中实现抓包功能主要依赖于第三方库如`jpcap`或`pcap4j`。这些库提供了与操作系统底层网络接口交互的能力,从而能够捕获经过的数据包。 3. **本抓包程序的特点**:本抓包程序是...

    Java抓包分析四(基于jnetpcap进行抓包)

    Java抓包分析是网络编程领域中的一个重要话题,它主要用于监测和分析网络通信数据,以便调试、安全检测或性能优化。本篇将详细讲解如何利用Java的jnetpcap库进行网络抓包操作。 jnetpcap是一个Java版的libpcap库...

    java APP抓包工具

    对于Java开发者来说,了解如何使用抓包工具能够极大地提升工作效率,特别是在开发iOS和Android应用时。抓包工具可以帮助我们捕获并分析应用程序与服务器之间的网络交互,包括请求参数、响应数据以及HTTP头信息等,这...

    需要cookie验证的java抓包程序

    总结,这个Java抓包程序专注于处理需要cookie验证的网页,通过Java的网络编程能力实现HTTP请求的发送,处理cookie,抓取并解析数据包,以获取和分析用户信息。对于开发者来说,理解并使用这个程序可以帮助他们深入...

    JAVA网络抓包程序Java源码

    首先,Java作为一门广泛使用的面向对象编程语言,具有跨平台的优势,这使得用Java编写网络抓包程序可以应用于各种操作系统环境。在Java中,我们通常会使用Socket编程来处理网络连接和数据传输。对于网络抓包,可能...

    java网络抓包程序源码

    它们通常与Java代码结合使用,通过JNI接口,实现Java应用的网络抓包功能。 6. **数据包过滤**:高级的抓包程序允许用户设置过滤规则,只显示符合特定条件的数据包,如特定源IP、端口或协议。这通常涉及到BPF...

    Java网络抓包.zip

    这两个库都是Java对libpcap库的封装,libpcap是广泛使用的网络抓包库,最初为Unix系统设计,但现在也有Windows版本。jpcap提供了Java接口来捕获和分析网络数据包,而pcap4j更现代化,支持更多的特性,如IPv6、SSL/...

    Java抓包程序

    Java抓包程序是一种用于捕获网络数据包的应用,它能够帮助开发者、网络管理员或安全研究人员监控网络通信,分析数据流,查找潜在的问题或安全漏洞。在这个项目中,我们看到一个基于Java开发的图形用户界面(GUI)抓...

    java网络抓包

    基于java的网络抓包程序,使用java编写,可以直接使用

    java抓包转发详细资料

    在Java中,可以使用开源库如Jpcap、Pcap4J等来实现抓包功能。 2. Jpcap与Pcap4J:Jpcap是Java平台上的一个网络数据包捕获库,它提供了一个API来访问和解析网络接口的数据包。Pcap4J则是一个基于Java的更现代化的抓...

    java抓包程序.rar

    Java抓包程序是一种用于监测和分析网络通信的工具,它能够捕获并解析网络上的数据包,以便于开发者和网络管理员理解网络流量和行为。在这个名为"java抓包程序.rar"的压缩包中,包含了几个关键组件,我们将逐一探讨...

    C#抓包,SnifferHttp使用网卡获取Http请求数据,可以用于监控网卡数据包

    C#是一种广泛使用的编程语言,能够创建高效的应用程序,包括网络数据包嗅探器。本篇文章将详细探讨如何利用C#和SnifferHttp库来实现网卡上的Http请求数据抓取,以及这种技术的应用场景。 首先,我们需要理解什么是...

    基于java的网络抓包方法

    但根据常规的网络抓包分析,我们可以预期博主可能详细讲解了如何使用Java进行网络抓包,可能包括如何安装和使用Jpcap或Pcap4J库,如何编写代码示例来捕获和解析数据包,以及如何应用这些技术进行网络诊断和安全审计...

    用java开发snmp包的发送和接收以及抓包

    在本文中,我们将深入探讨如何使用Java来开发SNMP(简单网络管理协议)包的发送、接收以及抓包功能。SNMP是网络管理员用来监控和管理网络设备的标准协议,而Java作为一种多平台支持的编程语言,非常适合进行此类任务...

    http请求抓包工具

    总结,HTTP请求抓包工具如Fiddler是开发者和网络专业人员不可或缺的辅助工具,它能够揭示网络通信的内幕,帮助解决问题,优化应用性能,同时也提醒我们在使用时要遵循法律法规,尊重用户隐私。通过熟练掌握这类工具...

Global site tag (gtag.js) - Google Analytics