网络编程工程实训_实验二 使用Libpcap库实时抓包并解析

本文介绍了如何在Centos7环境下,利用C/C++和Libpcap库进行网络编程,具体包括:1. 使用pcap_open_live()打开虚拟机网卡,成功或失败信息输出;2. 抓取并解析数据包的链路层、网络层和传输层头部信息,涉及RFC894、RFC791和RFC768/793标准;3. 分析数据包类型(ARP/RARP/IP),并根据IP数据包进一步分析TCP/UDP协议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验任务:

使用前期搭建好的开发环境(Centos7.0+gcc+libpcap),使用C/C++语言开发一个应用程序,打开虚拟机网卡(与物理主机在同一个子网的)设备,抓取数据包,并对数据包内容进行解析。

实验内容:

1.使用libpcap库的pcap_open_live()函数,打开虚拟机网卡,并根据打开成功与否,打印“Hello+你的姓名!”(成功)或“Sorry+你的姓名!”(失败)
2.使用libpcap库的pcap_open_live()函数,第四个参数使用0,打开虚拟机网卡,然后使用pcap_next()函数,抓取一个数据包,并根据抓包成功与否,打印“Hello+你的姓名!”(成功)或“Sorry+你的姓名!”(失败)
3.针对你抓取到的数据包进行如下解析:
数据链路层头部:查找并阅读RFC894,针对数据链路层头部进行解析,并输出各个字段名称+对应字段取值,并解释含义。如:TYPE=0x8864表示以太网负载为PPPoE数据,YPE=0x8864表示以太网负载为IP数据。
网络层头部:查找并阅读RFC791,针对IP层头部进行解析,并输出各个字段名称+对应字段取值,并解释含义。
传输层头部:查找并阅读RFC768(UDP),或RFC793,针对传输层UDP头部,或者TCP头部进行解析,并输出各个字段名称+对应字段取值,并解释含义。
常用的协议与RFC对应信息:https://blog.youkuaiyun.com/u011474028/article/details/50902951
实验过程填写要求:对以上3项内容,写出详细步骤,并将每一层数据PDU的解析结果抓图放入报告中
实验过程:
实验步骤:

实验内容1和2,见“网络编程工程实训__实验一 使用Libpcap库抓包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值