选择ARP,ICMP或TCP之一,在一台计算机上编写程序,使其访问另一台计算机。实现功能:①根据 ARP/ICMP/TCP 协议数据的结构,封装成数据帧发送给另一台计算机(可以是手机);②捕获网络中包含 ARP/ICMP/TCP 协议数据的数据帧,解析协议数据的内容,并在标准输出中显示报文首部字段的内容,同时写入日志文件。 ③以命令行或图形界面形式运行程序。 ④运行程序的同时开启 Wirshark 抓包软件,检验本地计算机发出与收到的数据分组。
时间: 2023-05-13 15:06:20 浏览: 124
这是一个非常具体的编程问题,需要使用特定的编程语言和网络库来实现。我建议您使用 Python 和 Scapy 库来实现这个功能。您可以编写一个 Python 脚本,使用 Scapy 库来构造 ARP/ICMP/TCP 数据包,并使用 socket 库将数据包发送到目标计算机。您还可以使用 Scapy 库来捕获网络中的数据包,并解析其中的协议数据。最后,您可以使用命令行或图形界面来运行程序,并使用 Wireshark 抓包软件来验证程序的正确性。请注意,这个问题需要一定的网络和编程知识,如果您不确定如何实现,请参考相关的网络编程教程或咨询专业人士。
相关问题
生成一个判断报文是否含有ARP,IP,ICMP,UDP,TCP,HTTP协议的c代码
以下是一个简单的C代码,用于判断报文是否含有ARP、IP、ICMP、UDP、TCP、HTTP协议:
#include <stdio.h>
#include <string.h>
int main() {
char packet[1024]; // 假设报文最大长度为1024
int has_arp = 0, has_ip = 0, has_icmp = 0, has_udp = 0, has_tcp = 0, has_http = 0;
// 读取报文
printf("请输入报文内容:\n");
fgets(packet, 1024, stdin);
// 判断是否含有各种协议
if (strstr(packet, "ARP")) {
has_arp = 1;
}
if (strstr(packet, "IP")) {
has_ip = 1;
}
if (strstr(packet, "ICMP")) {
has_icmp = 1;
}
if (strstr(packet, "UDP")) {
has_udp = 1;
}
if (strstr(packet, "TCP")) {
has_tcp = 1;
}
if (strstr(packet, "HTTP")) {
has_http = 1;
}
// 输出结果
printf("该报文%sARP协议,%sIP协议,%sICMP协议,%sUDP协议,%sTCP协议,%sHTTP协议。\n",
has_arp ? "含有" : "不含",
has_ip ? "含有" : "不含",
has_icmp ? "含有" : "不含",
has_udp ? "含有" : "不含",
has_tcp ? "含有" : "不含",
has_http ? "含有" : "不含");
return 0;
}
4、在“数据包”选项卡部分,选择IP协议、ICMP协议、TCP协议、UDP协议、ARP协议对应的数据包,根据各协议的格式分析其内容,各列举一个。
1. IP协议数据包格式:IP协议是一种网络层协议,它使用IP地址对数据包进行寻址和路由。IP协议数据包的格式包括版本号、头部长度、服务类型、总长度、标识、标志、片偏移、生存时间、协议、头部校验和、源IP地址、目标IP地址等字段。其中,源IP地址和目标IP地址可以用来标识数据包的发送者和接收者。
2. ICMP协议数据包格式:ICMP协议是一种网络层协议,用于在IP网络中传输错误消息和操作消息。ICMP协议数据包的格式包括类型、代码、校验和、数据字段等字段。其中,类型字段表示消息的类型,代码字段表示具体错误或操作类型,校验和字段用于验证数据包的完整性。
3. TCP协议数据包格式:TCP协议是一种传输层协议,它提供可靠的、面向连接的数据传输服务。TCP协议数据包的格式包括源端口号、目标端口号、序列号、确认号、数据偏移量、保留位、标志、窗口大小、校验和、紧急指针、选项等字段。其中,源端口号和目标端口号用于标识应用程序,序列号和确认号用于保证数据传输的可靠性,窗口大小用于流量控制。
4. UDP协议数据包格式:UDP协议是一种传输层协议,它提供无连接的数据传输服务。UDP协议数据包的格式包括源端口号、目标端口号、长度、校验和等字段。其中,源端口号和目标端口号用于标识应用程序,长度字段表示数据包长度,校验和字段用于验证数据包的完整性。
5. ARP协议数据包格式:ARP协议是一种链路层协议,用于将IP地址映射到MAC地址。ARP协议数据包的格式包括硬件类型、协议类型、硬件地址长度、协议地址长度、操作码、发送方MAC地址、发送方IP地址、目标MAC地址、目标IP地址等字段。其中,发送方MAC地址和发送方IP地址用于标识本机,目标MAC地址和目标IP地址用于查询目标主机的MAC地址。