Pcap4J抓包

简介: 学习使用pacp4j

前言

java中使用Pcap4J抓包


学习使用pacp4j 必须要先安装环境依赖WinPcap 或者 libPcap 根据你的使用环境选择

一、Pcap4J是什么?

为实现java抓包而封装的工具包

二、使用步骤

1.安装依赖库

Ubuntu

apt-get install libpcap-dev

CentOs

yum install libpcap-devel

Mac

brew install libpcap

Windows

choco install winpcap

2.引入项目中

Gradle

compile 'org.pcap4j:pcap4j-core:1.+'
compile 'org.pcap4j:pcap4j-packetfactory-static:1.+'

Maven

<dependency>
  <groupId>org.pcap4j</groupId>
  <artifactId>pcap4j-core</artifactId>
  <version>[1.0, 2.0)</version>
</dependency>
<dependency>
  <groupId>org.pcap4j</groupId>
  <artifactId>pcap4j-packetfactory-static</artifactId>
  <version>[1.0, 2.0)</version>
</dependency>

发现网络接口

InetAddress addr = InetAddress.getByName("192.168.10.100");
PcapNetworkInterface nif = Pcaps.getDevByAddress(addr);

打开Pcap处理

int snapLen = 65536;
PromiscuousMode mode = PromiscuousMode.PROMISCUOUS;
int timeout = 10;
PcapHandle handle = nif.openLive(snapLen, mode, timeout);

捕获数据包

Packet packet = handle.getNextPacketEx();
handle.close();

得到包信息

IpV4Packet ipV4Packet = packet.get(IpV4Packet.class);
Inet4Address srcAddr = ipV4Packet.getHeader().getSrcAddr();
System.out.println(srcAddr);
目录
相关文章
|
7月前
|
网络协议
自己总结的wireshark抓包技巧
自己总结的wireshark抓包技巧
138 0
|
4月前
tcpdump抓包命令详解
tcpdump抓包命令详解
|
5月前
wireshark 抓包使用
wireshark 抓包使用
55 8
|
7月前
|
运维 网络协议 Python
使用tcpdump和wireshark进行服务器抓包分析
使用tcpdump和wireshark进行服务器抓包分析
258 0
|
7月前
|
机器学习/深度学习 Linux
tcpdump的抓包
tcpdump的抓包
54 0
Wireshark的数据包
通过Wireshark工具,可以轻松的看到网卡的数据信息。通过Wireshark显示的数据包内容信息,通常分七栏,介绍一下:
|
网络协议 安全 网络安全
Wireshark一次抓包心得
使用Wireshark抓包,来了解邮箱与服务器之间的交互。
353 0
Wireshark一次抓包心得
|
网络协议 Unix Linux
Wireshark和TcpDump抓包分析心得
Wireshark和 TcpDump抓包分析心得    1. Wireshark与tcpdump介绍  Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台,我一般只在Windows平台下使用Wireshark,如果是Linux的话,我直接用tcpdump了,因为我工作环境中的Linux一般只有字符界面,且一般而言Linux都自带的tcpdump,或者用tcpdump抓包以后用Wireshark打开分析。
4616 0
|
网络协议 Linux Windows
使用tcpdump+wireshark抓包分析网络数据包
最近和学弟在调试一个GPRS通信模块,需求是通过GPRS模块通过http协议发送数据到服务器,但是http协议一直失败,服务器返回400,通过查询http状态码得知,http400错误是请求无效,因为GPRS模块没有实现http协议的封装,需要在TCP协议的基础上,手动拼装http格式的报文.
3917 0