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);
目录
相关文章
|
4月前
|
机器学习/深度学习 网络协议 安全
网络抓包工具 - tcpdump
【1月更文挑战第1天】
197 4
|
4月前
|
网络协议
自己总结的wireshark抓包技巧
自己总结的wireshark抓包技巧
108 0
|
2月前
wireshark 抓包使用
wireshark 抓包使用
30 8
|
4月前
|
运维 网络协议 Python
使用tcpdump和wireshark进行服务器抓包分析
使用tcpdump和wireshark进行服务器抓包分析
173 0
|
4月前
|
机器学习/深度学习 Linux
tcpdump的抓包
tcpdump的抓包
41 0
Wireshark的数据包
通过Wireshark工具,可以轻松的看到网卡的数据信息。通过Wireshark显示的数据包内容信息,通常分七栏,介绍一下:
|
网络协议 安全 网络安全
Wireshark一次抓包心得
使用Wireshark抓包,来了解邮箱与服务器之间的交互。
322 0
Wireshark一次抓包心得
|
网络协议 Unix Linux
Wireshark和TcpDump抓包分析心得
Wireshark和 TcpDump抓包分析心得    1. Wireshark与tcpdump介绍  Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台,我一般只在Windows平台下使用Wireshark,如果是Linux的话,我直接用tcpdump了,因为我工作环境中的Linux一般只有字符界面,且一般而言Linux都自带的tcpdump,或者用tcpdump抓包以后用Wireshark打开分析。
4589 0
|
网络协议 Linux Windows
使用tcpdump+wireshark抓包分析网络数据包
最近和学弟在调试一个GPRS通信模块,需求是通过GPRS模块通过http协议发送数据到服务器,但是http协议一直失败,服务器返回400,通过查询http状态码得知,http400错误是请求无效,因为GPRS模块没有实现http协议的封装,需要在TCP协议的基础上,手动拼装http格式的报文.
3896 0
|
网络协议 C++
网络抓包工具wireshark and tcpdump 及其实现基于的libpcap
最近无意中看到博客园中一篇介绍wireshark的文章,写得不错,它简单清楚介绍了wireshark的使用 简介 wireshark以前叫做Ethereal, 在大学时候的网络课程中就常看到它,它是世界上最流行的网络抓包分析工具(world's most popular network protocol analyzer),它是基于图形界面的,官网有介绍wireshark是1998年的一个项目衍生出来的,它有比较强大的特性,可以用来分析数百种网络协议。
1201 0