使用jpcap实现网络嗅探器Sniffer:烟台大学计算机网络课程设计

需积分: 17 5 下载量 160 浏览量 更新于2024-07-17 收藏 340KB DOC 举报
"这篇文档是关于烟台大学计算机网络课程设计的一个项目,主题是创建一个简单的网络嗅探器(Sniffer),使用了wincap环境和jpcap.jar库。该项目由王承乾同学完成,指导教师为赵金东,时间是2019年1月。" 在这个课程设计中,学生的目标是深入理解TCP/IP协议,并实现一个基本的网络嗅探器。Sniffer的主要任务是监控网络性能和使用情况,它能监听并解析网络上的数据包,提供网络流量的详细信息。 首先,项目要求实现Sniffer的基本功能,包括选择监听的网卡,因为一台机器可能有多个网络接口。此外,Sniffer需要捕获并解析所有通过选定网卡的数据包,包括ICMP、IP、TCP和UDP协议的数据包。对于IP头部,Sniffer应能显示如版本、头长度、服务类型、总长度、标识、DF/MF标志、段偏移、生存时间、协议类型、源和目标IP地址等关键字段。数据内容部分应以ASCII形式展示,以便理解。 其次,Sniffer还必须能够针对特定IP地址进行监听,无论是来源IP还是目标IP,以便捕获和显示TCP和UDP数据包的完整内容。考虑到TCP或UDP包可能被分割成多个IP包传输,Sniffer需要有能力重组这些分片以恢复原始数据。 此外,功能还包括过滤特定协议类型,如只监听ICMP或同时监听ICMP和UDP。为了验证其正确性,Sniffer需在运行时与其他标准网络应用(如Ping、Telnet或Web浏览)并行工作,并能显示预期的结果。数据包还可以保存为可读文件,以便后续分析。文件重组功能允许Sniffer从经过本地网络的多个TCP包中恢复出原始文件。最后,Sniffer提供了一个查询功能,可以查找并集中显示包含特定关键词(如“password”)的数据包。 这个课程设计涵盖了网络协议解析、数据包捕获、网络监控、协议过滤、文件重组以及数据包搜索等多个关键领域,旨在提升学生在计算机网络领域的实践能力。