JAVA的Socket主要在传输层,而网卡,则主要工作在数据链路层,那么JAVA监听数据包,就需要其他包的支持。
首先下载Winpcap,安装好。然后下载Jpcap,解压缩,将jpcap.dll放入jdk安装路径的bin目录下和jre安装路径的bin目录下。然后新建一个工程,将jpcap.jar引入就可以了。
监听数据包的程序如下:
- import java.io.IOException;
- import java.util.Scanner;
- import jpcap.*;
- import jpcap.packet.*;
- public class NetFetcher implements PacketReceiver{
- @Override
- public void receivePacket(Packet arg0) {
- //将抓取的包进行输出
- System.out.println(arg0);
- }
- public static void main(String[] args){
- //获得网卡设备列表
- NetworkInterface[] devices = JpcapCaptor.getDeviceList();
- if(devices.length==0){
- System.out.println("无网卡信息!");
- return;
- }
- //输出网卡信息
- for(int i=0;i<devices.length;i++){
- System.out.println("网卡"+i+"信息:"+devices[i].name);
- for(NetworkInterfaceAddress address:devices[i].addresses){
- System.out.print(address.address+" ");
- }
- System.out.println("\n");
- }
- Scanner scan = new Scanner(System.in);
- System.out.println("请选择您要监听的网卡序号:");
- int index = scan.nextInt();
- //监听选中的网卡
- try {
- JpcapCaptor jpcapCaptor = JpcapCaptor.openDevice(devices[index], 2000, false, 20);
- jpcapCaptor.loopPacket(-1, new NetFetcher());
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
相关推荐
2. **初始化嗅探器**:在C#代码中,创建一个`SnifferHttp`实例,指定要监听的网卡。你可以通过调用`SnifferHttp.Start()`方法来启动监听。 ```csharp using SnifferHttp; SnifferHttp sniffer = new SnifferHttp()...
《抓取网络数据包的实现方法》 网络数据包抓取是网络安全分析、故障排查以及网络性能监控的重要手段。本文将深入探讨如何实现这一过程,主要涉及嗅探器的设计原理和编程实现,以及数据包的基本结构。 首先,嗅探器...
这些库提供了API,可以监听网络接口,解析不同协议的数据包,并将它们存储为结构化的对象。 2. **数据包过滤**:捕获到的数据包包括所有网络流量,而我们只关心HTTP数据,所以需要过滤器。我们可以设置过滤表达式,...
总的来说,这个压缩包提供了用于MT7612芯片无线网卡的驱动程序,尤其适合使用Omnipeek进行无线网络数据包的抓取和分析。对于网络管理员、IT专业人员以及进行无线网络调试的人来说,这是一个非常实用的工具集。用户在...
3. **启动捕获**:使用适当的方法(如`PacketDevice.StartCapture()`)开始监听数据包。 4. **处理数据包**:当数据包到达时,程序会接收到一个回调,此时可以解析数据包并存储相关信息。 5. **序列化数据**:将捕获...
在本文中,我们将深入探讨如何使用 Scapy 库实现在网卡上进行数据包的收发。 首先,我们需要了解 Scapy 的基本用法。在 Python 环境中,你可以通过 `from scapy.all import *` 导入 Scapy 库,这将引入所有必要的类...
* -i:interface 监听的网卡。 * -nn:表示以 IP 和 port 的方式显示来源主机和目的主机,而不是用主机名和服务。 * -A:以 ASCII 的方式显示数据包,抓取 web 数据时很有用。 * -X:数据包将会以 16 进制和 ASCII ...
【描述】提到的“捕获本地网卡的IP分组”,是指程序能够监听并记录通过选定本地网络接口传输的所有IP数据包。这通常涉及到了网络嗅探技术,也称网络抓包。在网络嗅探中,程序会模拟一个网络设备,接收所有通过该设备...
无论是在 Windows 操作系统下还是在 Linux 操作系统下,要想捕获网络上的数据包,必须要对网卡进行控制。为了更方便的使用,可以安装一个叫 libpcap 的软件,这样调用函数更好用,而在 Windows 系统中,因为源代码不...
在常规驱动的基础上,sniffer驱动增加了对网络数据包捕获的功能,使得网卡能够在不影响正常通信的情况下监听并记录网络中的所有数据包。这对于网络分析软件(如Wireshark、omnipeek等)来说是必不可少的,因为它们...
在C语言中,通常使用`socket`库进行网络编程,这涉及到创建套接字、连接到网络接口、监听数据包等操作。在Linux系统中,`pcap`库经常用于数据包捕获,它提供了方便的API来读取网络接口上的原始数据包。 再者,**...
2. **实时捕获**:系统通过调用库函数持续监听网络接口,每当有数据包经过时,这些函数会将其复制到内存缓冲区。 3. **数据存储**:捕获到的数据包会被保存到文件或者内存中,以便后续分析。 4. **事件处理**:...
标题“TCP/IP网络数据包捕获”指的是通过特定工具抓取网络中的TCP数据包,以便进一步检查和理解网络流量的行为。这包括发送和接收的数据包,它们的源和目标地址,端口号,以及数据包内容等信息。这些信息可以帮助...
3. bind (s, addr, sizeof (addr)) 将套接字绑定至指定网卡,参数1=套接字句柄 参数2为一个addr结构的值,该值表明要绑定的网卡IP及端口号 4. ioctlsocket (Socket, 2550136833, 1) 将套接字的模式改变为允许...
- `-i <interface>`:指定监听的网络接口,如eth0、enp0s3等,用于选择要分析流量的网卡。 3. **过滤条件**: - `and`、`or`、`not`:这些逻辑运算符用于组合多个过滤条件,更精确地定义要抓取的数据包。 - `-w ...
libpcap是一个C语言库,libpcap的英文意思是 Packet Capture library,即数据包捕获函数库,其功能是通过网卡抓取网络以太网中的数据包。这个库为不同的平台提供了一致的c函数编程接口,在安装了 libpcap 的平台上,...
- 输入`airodump-ng -w toshiba -c 11 ath1`命令开始捕获数据包,其中`toshiba`为SSID名称,`11`为目标频道,`ath1`为监听模式下的网卡名称。 - 需要捕获足够数量的数据包,通常建议至少3万个数据包。 - 如果数据包...
2. **网络接口编程**:了解如何在易语言中与网卡进行交互,设置监听模式,捕获通过网卡传输的数据。 3. **数据包解析**:理解TCP/IP协议栈,包括IP、TCP/UDP等协议,以及HTTP协议,因为微信的通信通常基于HTTP或...
网络抓包,简单来说,就是监听网络接口(如网卡)上的数据传输,记录并分析网络中的数据包。在Windows系统中,开发者通常使用WinPCap或Npcap库来访问底层网络接口。然而,对于HTTP协议的特定抓包需求,SnifferHttp...