java实现抓包jacap_java 抓包工具 jpcap的下载与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实现抓包jacap_java 抓包工具 jpcap的下载与eclipse配置相关推荐
- java pmd 插件下载_pmd eclipse插件
PMD是Eclipse上的一款源代码分析插件,与其他分析工具不同的是,PMD通过静态分析获知代码错误.也就是说,它可以在不运行Java程序的情况下报告错误.pmd 支持Java.JavaScript. ...
- linux过滤端口抓包_Linux抓包工具tcpdump使用总结,WireShark的过滤用法
tcpdump与WireShark是Linux下的两个常用,功能强大的抓包工具,下面列出这两个工具的简单用法. tcpdump用法 tcpdump用法: sudo tcpdump -i ens33 s ...
- xmpp协议抓包_抓包工具有哪些?大佬们常用的18款抓包工具就是这些
最近很多同学,说面试的时候被问道,有没有用过什么抓包工具,其实抓包工具并没有什么很难的工具,只要你知道你要用抓包是干嘛的,就知道该怎么用了!一般对于测试而言,并不需要我们去做断点或者是调试代码什么的, ...
- charles抓包(charles抓包工具详细教程)
charles 为什么能抓https的包?原理是什么 众所周知,http明文传输,https加密就是为了在传输层禁止暴露明文,但是为什么抓包工具又能抓到? 岂不是和https的设计矛盾了?? 简单的说 ...
- 抓取WIFI空中包工具--OmniPeek
抓取WIFI空中包工具--OmniPeek 1. 简介 2. OmniPeek环境搭建 2.1 OmniPeek下载 2.2 wifi dongle的OmniPeek driver安装 3. Omni ...
- 微信小程序抓包与逆向+微信小程序反编译教程+解包教程+解包工具
免责声明 做视频的初衷是为了学习交流,是想让自己在分享过程中学习到更多的东西 本人发布的视频.环境.软件.脚本.文章.资料等,都只用于学习交流安全技术,请不要用于任何非法用途, 否则后果自付 部分技术 ...
- 最强电脑抓包工具Wireshark中文版下载 | 经典电脑抓包软件
Wireshark中文版是迄今为止最优秀也是世界上最重要和广泛使用的网络协议分析软件,就是大家常说的电脑抓包软件,可以从互联网.IEEE 802.11.PPP/HDLC.ATM.蓝牙.USB.令牌环. ...
- 网络抓包分析工具Wireshark的下载、安装和使用
一.Wireshark下载 官网下载地址:https://www.wireshark.org/download.html,在谷歌浏览器地址栏输入官网网址 点击需要的版本就会开始下载安装包 二.Wire ...
- JAVA+网络数据包的抓取与分析实验
一.实验目的 熟悉TC P/IP数据包的结构. 掌握Wireshark的使用方法. 能够利用JNet Pcap编程实现数据包的抓取与分析. 二.实验准备 1.通过抓包,可以进行网络故障分析.流量监控. ...
最新文章
- 抓包和http请求工具
- try/catch/finally的简单实践
- WCF消息拦截,利用消息拦截做身份验证服务
- 达梦想oracle迁移,oracle存储过程迁移达梦心得
- 一个没有好好的适应本土市场的失败的案例
- C++STL常用排序算法
- case when mysql_mysql条件语句case when的实例
- python曲线拟合_python如何实现数据的线性拟合
- QT中在终端下写个小例子
- 大数据先行 传统金融转型需从体制上创新
- android竖直和横向,如何在android中为纵向和横向模式定义不同的控件
- 文字层一点就变红_《蚂蚁前端研发最佳实践》文字稿
- 书法是什么?书法的美从何说起?
- Centos7部署轻量级自动化运维工具pssh (亲测)
- k8s学习:部署 PHP + Redis 留言薄
- WordPress如何修改底部备案信息
- E03.04 Blue-Collar Boom: How China Bounced Back From the Virus
- 对iis写权限的利用
- 今日金融词汇---新股限购,是什么?
- Extjs 3.0.0 问题总结
热门文章
- 网站加入百度云加速后,出现Error520源站返回未知错误怎么办?
- JavaSwing_使用树莓派播放视频_三种方法(FX,CLV,CLVJ)_一蓑烟雨任平生
- 7天搭建物联网项目 STM32 + ESP8266 第 1 节 上传数据到云平台
- iBase4J-JAVA分布式开源框架
- 一文搞定深度学习入门级电脑硬件配置
- OWASP ZAP安装kali
- D90四种对焦点模式
- PHP中time(),date(),microtime()三者的区别
- 【毕业设计】基于springboot的小区智慧物业管理系统
- 计算机高配置表格,数据大的excel表格对显卡有要求-求excel大量数据处理的电脑配置...