Linux条件下,•实现 Sniffer 的基本功能。 Sniffer 是一种用于监测网络性能、使用情况的工具。
•能够指定需要侦听的网卡(考虑一台机器上多张网卡的情况)
•能够侦听所有进出本主机的数据包,解析显示数据包( ICMP 、 IP 、 TCP 、 UDP 等)各个字段。比如,对 IP 头而言,需要显示 版本、头长度、服务类型、数据包长度、标识、 DF/MF 标志、段内偏移、生存期、协议类型、源目的 IP 地址、选项内容、数据内容。要求显示数据的实际含义(例如用 ASCII 表示);
•能够侦听来源于指定 IP 地址的数据包,能够侦听指定目的 IP 地址的数据包,显示接收到的 TCP 和 UDP 数据包的全部实际内容。需要考虑一个 TCP 或 UDP 包划分为多个 IP 包传输的情况;
•能够根据指定的协议类型来过虑包,例如,只侦听 ICMP 包,或只侦听 ICMP 和 UDP 包。
•功能验证手段:在运行 Sniffer 的同时,执行标准的 Ping 、 Telnet 和浏览网页等操作,检查 Sniffier 能否返回预期的结果。
•数据包保存:可以保存选中的包,保存文件要有可读性。
•文件重组:一个文件在传输过程中,被分成若干个 TCP 包传送,如果抓到经过本机的该文件的所有 TCP 包,将这些包重组还原出该文件。
•查询功能:例如查询内容中包含 “password” 的包,并集中显示。
2022-06-02 16:20:49
3KB
课程设计
1