C语言-编写抓包

实验需求

使用Libpcap库捕获局域网中的IP包,要求:

打印数据包的源与目的物理地址;
打印源IP与目的IP地址;
打印出上层协议类型;
如果上层协议为TCP或UDP协议,打印目的与源端口信息;
如果上层协议为TCP或UDP协议,将数据以16进制与ASCII的两种方式同时打印出来,不可打印字符以’.'代替;
00000 47 45
54 20 2f 20 48 54 54 50 2f 31 2e 31 0d 0a GET / HTTP/1.1…

libpcap安装

tar -zxvf libpcap-1.10.1.tar.gz
cd libpcap-1.10.1
./configure
make
sudo install make

在这里插入图片描述

获取targetIP

ping www.tcpdump.org

在这里插入图片描述

编译

sudo gcc -g -Wall -o capture capture.c -lpcap

在这里插入图片描述
要root限权否则就会
在这里插入图片描述

运行capture.c:开启监听

在这里插入图片描述

https://www.tcpdump.org/

firefox访问TCPDUMP/LIBPCAP官网,同时抓到若干个包
在这里插入图片描述

おすすめ

転載: blog.csdn.net/grb819/article/details/121008460