基于Libpcap实现的局域网嗅探抓包发包解析工具

第一章 需求分析

1.1 设计目的

1.1.1 基本要求

完成一个基于Libpcap的网络数据包解析软件,具有易用、美观的界面。

1.1.2 具体要求

能够解析本地或局域网的数据包,例如TCP包,UDP包,工CMP包等,能分析报头以及数据包内容

能分析数据包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源’p地址和目的工p地址等内容。并将上述解析结果规范显示

能解析每个数据包的内容(如果为加密信息不能解析则备注不能解析)

能在制定时间段内解析数据包,当程序解析停止时,能分类统计在这段时间内解析的各类数据包的数量

能够图形化显示数据包统计结果

1.2 功能要求

1.2.1 功能概况

本次设计参考计算机网络基础知识,设计实现一个能够对本地局域网数据包进行捕获和分析的程序,并利用此程序实现网络监控和其他实用性功能。

1.2.2 获取数据包功能

利用Libcap,扫描设备网卡,选取不同网卡类型(WiFi/以太)进行对局域网数据包的监听和捕获,设计两种模式:混杂模式和非混杂模式,简单来说就是是否要过滤掉不是发送给自己的数据包,如果设置为混杂模式,则会收到整个局域网内的所有数据包并进行分析。

1.2.3 分析数据包功能

程序能够对捕获的数据包进行分类整理,并提取数据包中内容进行分析,包括数据包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源’P地址和目的’P地址等内容,并将上述解析结果规范显示。对于HTTP., ARP等报文,可以对其内容进行解析。

1.2.4 图形化显示功能

利用表格组件,将获取到的数据包信息以表格形式直观地显示出来,并且加以交换牛可以查看深层内容。

1.2.5 数据包统计分析功能

可以对一段时间获取的数据包进行统计整理,并根据数据包类型进行分类,如:数据包版本类型(IPv4/IPv6)、数据包协议类型(TCP/UDP/ARP等),并以饼图直观显示;对于TCP、UDP、ICMP数据包,用直方图统计其最大、最小、平均生存期和数据包大小,可以直观显示。

1.2.6 数据包清空功能

可以清空之前获取的所有数据包。

1.2.7 Ping功能

调用终端相应,实现Ping操作,可以用来测试与目标主机的连通性。

1.2.8 TraceRoute功能

调用终端相应,实现traceroute操作,通过traceroute我们可以知道信息从本计算机到互联网另一端的主机是走的什么路径。

1.2.9 ARP-Attack功能

本程序可实现局域网内ARP攻击,经测试可以对指定’P地址的主机实现断网攻击,基本原理同上,是欺骗目标机器局域网网关地址,使得该机器ARP缓存表中记录的网关IP -MAC对应错误,从而无法把数据包发送给真正的网关,导致网络连接失败,如果将欺骗的MAC地址设置为自己的MAC地址,则会截获目标机器发送的数据包。

点击下载源码

你可能感兴趣的:(基于Libpcap实现的局域网嗅探抓包发包解析工具)