为了显示查看方便,我们先把其他不用的网卡给禁用掉

然后在cmd中,输入ipconfig /all查看我们的网卡信息

然后我们用代码的方式来获取我们的网卡信息,和上面我们的网卡信息做对比。
import java.util.ArrayList;
import java.util.List;
import org.jnetpcap.Pcap;
import org.jnetpcap.PcapIf;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class JnetApp {
public static void main(String[] args) {
SpringApplication.run(JnetApp.class, args);
List<PcapIf> devs = new ArrayList<PcapIf>();
StringBuilder errsb = new StringBuilder();
int r = Pcap.findAllDevs(devs, errsb);
if (r == Pcap.NOT_OK || devs.isEmpty()) {
System.err.println("未获取到网卡");
} else {
System.out.println("获取到网卡:");
System.out.println(devs);
获取到网卡:
[<flags=0,
addresses=[
[addr=[INET4:192.168.1.233],
mask=[INET4:255.255.255.0],
broadcast=[INET4:255.255.255.255],
dstaddr=null],
[addr=[INET6:FE80:0000:0000:0000:A069:D7CC:E18D:CEE1],
mask=[0],
broadcast=[0],
dstaddr=null]],
name=\Device\NPF_{BE377809-60C5-49AD-A224-0F6C3B355EFB},
desc=Intel(R) Ethernet Connection (2) I219-LM>]

刚开始的时候我电脑是正常运行的,然后系统自动更新以后,就发现获取不到网卡,然后以管理员启动IDE在运行代码时,就能成功了。因此这里,防止权限不够的情况,建议以管理员方式启动。
至此,本章节结束!
通过Fiddler可以嗅探Http协议网络数据包, 如何在Java平 台下通过第三方包来进行底层网络嗅探。
Java平台本身不支持底层网络操作,需要第三方包利用JNI封装不同系统的C库来提供Java的上层接口。常用的类库包括 JPcap,JNetPcap等,他们都是基于TcpDump/LibPcap的Java封装。其中JPcap已经一年多没更新了,而JNetPca
使用 JPCAP或 wireshark等抓包,可以使用JAVA、PYTHON或C++写代码对数据进行分析,最后可视化显示;本文只实现了使用 Java语言的jpcap接口 在 IDEA环境下抓取数据包的功能这份大作业需要挺多的时间去完成的,只能一部分一部分去啃。这篇博客也只是解决了如何从网卡中捕捉并过滤数据包,但还未能对捕获到的数据包进行分析和可视化。剩下的这些内容就等下一篇博客吧!如果有我表述的不清楚或者错误的地方,欢迎在评论区一起讨论、批评指正。拜拜!
我不是很清楚java如何写一个将网络流量保存为pcap文件的实现,但是我可以提供一些建议:首先,您可以使用Java的socket API来捕获网络流量;其次,您可以使用libpcap库来将网络流量保存为pcap文件。
(内附github地址)此程序是由自己编写的个人网络嗅探器,相当于著名的包捕获软件Wireshark的简化版,界面参考至别人的博客,由JFrame编写,主要业务逻辑基于JnetPcap开发,程序框架为MVC。主要功能如下:
实现了运行主机网卡选择进行抓包
实现了IOS五层模型下所有数据包的捕获及显示
实现了抓取的数据包从链路层到应用层的逐层包头的信息展示及分析
实现了Ethernet、IP、ARP、ICMP、UDP、TCP、HTTP七种数据包的过滤及分析
在上篇文章中Java抓包分析三(基于jnetpcap进行抓包)——抓取Http请求数据包,我们讲解了TCP三次握手的过程和如何抓取Http数据包,但是我们并没有进行一个数据分析,接下来这篇文章我们将要开始对Http抓取的数据报进行深入的分析。
文章目录1.预备知识1.1.OSI七层网络模型1.1.TCP/IP四层网络模型2.分析wireshark抓取的Http数据包3.分析jnetpcap抓取的Http数据包
1.预备知识
1.1.OSI七层网络模型
1.1.TCP/IP四层网络模型
2.分析wiresha
前言本学期计算机网络要求写一个抓包程序,我通过网上查阅资料,如何实现抓包,实现了一个较为简单的抓包程序。项目准备1. 首先得有 java 编译环境,安装并配置好 jdk;2. 需要安装 W...
java本身是不支持处理网络层及以下的协议(用的java8,可能我了解的少,但好像是这个样子)。如果想用java做相关的网络嗅探开发,需要使用一些库,比如jpcap或JNetPcap。推荐JNetPcap,原因是jpcap很早不维护了,功能上也不如jNetPcap。
本文会介绍在windows下配置jNetPcap开发环境,如果是linux会再单写一篇文章说明一些问题。
jNetPcap简介
jNetPcap是对libcap或WinPcap的java封装,通过JNI调用。jNetPcap可以看
安装libpcap和jnetpcap,将jnetpcap配置到IDEA中,在安装过程中遇到please port gnulib freadahead.c to your platform等问题,在程序运行时遇到libjnetpcap.so: libpcap.so.0.9:无法连接到共享文件,找不到文件或目录问题,及解决方法