网络工程规划与系统集成实验指导书.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络工程 规划 系统集成 实验 指导书
- 资源描述:
-
《网络工程规划与系统集成》 实验指导书 2023——2023学年第2学期 编写人: 安徽科技学院数理与信息工程学院 《网络工程规划与系统集成》实验指导书 课程名称:网络工程规划与系统集成 课程类型:专业选修课 学 时:实验课学时18 授课对象:网络工程专业 一、教学目的 通过本课程的教学,帮助学生掌握综合布线、网络设计以及第二层、第三层网络的逻辑设计。培养学生实际的动手能力和为实际网络的设计、布线、验证测试等能力。,使学生可以运用网络工程规划的思想去解决解决现实问题,启发学生的创新意识,提高学生在网络设计过程中分析问题和解决问题的实际动手能力,使学生的理论知识和实践技能得到共同发展。 二、教学内容及学时分派 教学内容 学时 网络的架构及协议分析 3 raw socket分析 3 大学校园网主干线设计 6 网络综合布线系统实验 6 总计 18 三、考核方式 本课程不仅具有理论性,更具有较强的实践性,因此课程成绩的评估也应建立起以实践为主体的多元化考核评价体系。 课程考核采用平时考核和理论考核相结合方式进行,重点考核学生对相关理论理解限度,运用理论指导实践的能力,实际组建网络和管理网络的技能。全面考核学生的理论学习效果和综合运用能力。 随堂考核:由任课教师根据学生平时表现、课堂出勤、实践训练操作过程和回答课堂提问情况等综合衡量,占总成绩的20%。 理论考核:全面综合考察学生的理论知识掌握情况。成绩占总成绩的80%。 四、学习规定 本课程不仅具有理论性,更具有较强的实践性,因此不仅需要学生重点掌握相关理论的理解,还规定能运用理论指导实践的能力,以达成组件网络和管理网络的实际技能。 五、教材及重要参考书目 [1] 王波. 网络工程规划与设计[M]. 北京: 机械工业出版社, 2023 [2] 刘天华,孙阳. 网络系统集成与综合布线[M]. 北京:人民邮电出版社, 2023 [3] 王勇,刘晓辉著. 网络系统集成与工程设计[M]. 科学出版社, 2023. [4] 孙丽华,张坚林,危建国 著. 网络综合布线技术与工程实训教程[M]. 北京: 电子工业出版社, 2023. 实验一 网络的架构及协议分析 1.背景知识 1.1 以太网封装 图1 以太网封装格式(RFC894) 由于虚拟机和本机电脑所在的网络属于以太网,所以wireshark抓取的数据也是按照以太网格式封装的。以太网首部的封装相应于wireshark信息中的Ethernet II。如下图: 图2 wireshark抓取的以太网首部信息 从Wireshark抓取信息中可以看出类型为0X0800(IP),说明后面的数据为IP数据报。 1.2 IP数据报 IP数据报格式如图3,普通的IP首部长度为20个字节(不含选项字段) 图3 IP数据报格式及首部中的各字段 其中目前的协议版本号是4,即IPV4。 首部长度指的是首部占 32 bit 字的数目,涉及任何选项。由于它是一个 4比特字段,因此首部最长为6 0个字节。 服务类型( TO S)字段涉及一个 3 bit 的优先权子字段(现在已被忽略) ,4 bit 的TO S子字段和1 bit 未用位但必须置 0。4 bit 的TO S分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。4 bit中只能置其中1 bit 。假如所有 4 bit 均为0,那么就意味着是一般服务。 RFC 1340[Reynolds and Postel 1992] 描述了所有的标准应用如何设立这些服务类型。 RFC 1349[Almquist 1992] 对该R F C进行了修正,更为具体地描述了 TO S的特性。 总长度字段是指整个 I P 数据报的长度,以字节为单位。 标记字段唯一地标记主机发送的每一份数据报。通常每发送一份报文它的值就会加 1。RFC 791 [Postel 1981a]认为标记字段应当由让IP发送数据报的上层来选择。但是在大多数从伯克利派生出来的系统中,每发送一个I P数据报,I P层都要把一个内核变量的值加1,不管交给IP的数据来自哪一层。 标志字段用其中一个比特来表达“更多的片” 。除了最后一片外,其他每个组成数据报的片都要把该比特置 1。标志字段中有一个比特称作“不分片”位。假如将这一比特置 1,I P将不对数据报进行分片。相反把数据报丢弃并发送一个 I C M P 差错报文给起始端。 片偏移字段指的是该片偏移原始数据报开始处的位置。此外,当数据报被分片后,每个片的总长度值要改为该片的长度值。 TTL(time-to-live)生存时间字段设立了数据报可以通过的最多路由器数。它指定了数据报的生存时间。 8位协议,这个字段定义了IP数据报的数据部分使用的协议类型。常用的协议及其十进制数值涉及ICMP(1)、TCP(6)、UDP(17) 首部检查和字段是根据 I P首部计算的检查和码。它不对首部后面的数据进行计算。 IP数据报首部相应的wireshark抓取信息如下: 图4 wireshark抓取的IP数据报首部信息 使用的IP版本为4,IP首部长度20bytes,服务类型值为0x00说明为一般服务,IP数据报总长度为60字节,标记为0x141b,标志位0x00,RFC791指出Bit 0: reserved, must be zero Bit 1: (DF) 0 = May Fragment, 1 = Don't Fragment. Bit 2: (MF) 0 = Last Fragment, 1 = More Fragments,即保存位必须为0.片偏移为0.TTL为64,8位协议为1,说明使用ICMP协议。 1.3 ICMP报文 ICMP的正式规范在RFC 792中定义,ICMP报文首部如下: 图5 ICMP报文 PING程序发送一份 I C M P 回显请求报文给主机,并等待返回 I C M P 回显应答,PING回显请求和回显应答格式如下: 图6 ICMP回显请求和回显应答报文格式 ICMP相应的wireshark抓取信息如下: 图7 wireshark抓取的ICMP报文信息 类型8、代码0:PING请求。 类型0、代码0:PING应答。类型11、代码0:PING超时。 检查和为0x4ba9,标记符0X0001和0X0100,序号为434和45569. I C M P报文中的标记符和序列号字段由发送端任意选择设定,这些值在应答中将被返回。这样,发送端就可以把应答与请求进行匹配。 1.4 arp报文格式 由于ping程序在拟定目的主机的时候会用到arp协议,所以此处也列出arp的报文格式,如图8: 图8 ARP请求或应答分组格式 1.5 IPV6 IPV6报文格式如下图: 图13 IPv6报文格式(RFC2640) Version(4-bit):IP版本,该字段值为6 Traffic Class(8-bit):流量分类,与IPv4包头的TOS类似 Flow Label(20-bit):流标签,用来标记IPv6数据包的一个流 Payload Length(16-bit):有效载荷的长度,扩展报头也算在Payload长度里 Next Header(8-bit):解决选项字段,分段,安全,移动性,松散源路由,记录路由等的新方式 Hop Limit:(8-bit):定义IP数据包所能通过的最大跳数,每跳一次将此值减1。 Source Address(128-bit):IP数据包的源地址 Destination Address(128-bit):IP数据包的目的地址 Possible Extension Header(s): 扩展报头 扩展报头(RFC2460) Value Type of Header 0 Hop-by-Hop Options Header 6 TCP (Upper Layer) 17 UDP (Upper Layer) 41 Encapsulated IPv6 Header 43 Routing Header 44 Fragment Header 50 Encapsulating Security Payload 51 Authentication Header 58 ICMPv6 (Upper Layer) 59 No next header 60 Destination Options ICMPv6的报文格式 ICMPv6的报文格式和ICMP报文格式基本相同,如图6 ICMP回显请求和回显应答报文格式。 综上所述可以得到wireshark抓取ping ubuntu的IPv6地址的信息表: 6字节 目的MAC地址 6字节 源MAC地址 2字节 类型 以太网首部 4位 版本 8位流量分类 20位流标签 IPv6首部 16有效载荷长度 8位下一首部 8位跳数限制 128位源IP地址 128位目的IP地址 8位类型 8位代码 16位校验和 ICMP首部 16位标记符 16位序列号 ICMP数据部分 ICMP数据部分 表7 IPv6下wireshark的抓取信息表 Wireshark抓取的数据如图14,将数据填入表7可以得到表8 图14 wireshark抓取的ping数据 2.实验目的 1) 熟悉Wirshark的安装和使用 2) 理解ping程序使用到的协议,并分析使用到的协议 3) 使用wireshark对ping进行抓包,理解抓取的内容 3.实验内容 1)在理解以太网结构的基础上,使用wireshark对ping协议进行抓包解析,并将其内容对的的填写到表1的相应位置 2)使用wireshark对ping协议在IPV6条件下进行抓包解析,并将相应的内容填写到表7中。 4.实验环节 1) 安装并学会使用wireshark,懂得如何对ping进行抓包 2) 打开虚拟机ubuntu,并为ubuntu配置与主机在同一局域网的IP地址 3) 将wireshark置为抓包状态 4) 在windows xp下ping ubuntu的IP,将wireshark抓取到的信息进行保存 5) 分析抓取到的信息,并将其填写到相应的格式中 6) 对IPV6下的抓包,反复上面1-5环节。 具体如下: 4.1 IPV4下的抓包解析 实验环节如下: .使用ifcongfig命令查看ubuntu的ip地址 图9 vmware player中ubuntu的ip地址 可以看出ubuntu的ip地址为:192.168.117.129。 wireshark启动对VMnet8的监控,然后在windows下的dos命令行中使用命令:ping 192.168.117.129,如下图 图10 ping 192.168.117.129 Ping命令后,从wireshark抓取的数据可以看出,会一方面进行广播(arp协议)询问“Who has 192.168.117.129? Tell 192.168.117.1”,并得到回复“192.168.117.129 is at 00:0c:29:6c:de:e7”。正常ping通,根据wireshark抓取的数据填写表2得到表3和表4: ff:ff:ff:ff:ff:ff ( Broadcast) 00:50:56:c0:00:08 0x0806( ARP) 以太网首部 1(Ethernet) 0x0800(IP) 6 4 1(request) 00:50:56:c0:00:08 ARP分组格式 192.168.117.1 00:00:00:00:00:00 192.168.117.129 表3 ping程序寻找目的主机时的数据信息 00:50:56:c0:00:08 00:0c:29:6c:de:e7 0x0806(ARP) 以太网首部 1(Ethernet) 0x0800(IP) 6 4 2(reply) 00:0c:29:6c:de:e7 ARP分组格式 192.168.117.129 00:50:56:c0:00:08 192.168.117.1 表4 ping程序得到目的主机回复时的数据信息 然后就是ICMP报文,根据wireshark抓取的第一条ICMP报文的信息如图11,填写表1得到表5, 图11 wireshark抓取的第一条ping请求报文的信息 00:0c:29:6c:de:e7 00:50:56:c0:00:08 0x0800(IP) 以太网首部 4 20 0x00 60 IP首部 0x141b 0x00 0 64 1(ICMP) 0xfad2 192.168.117.1 192.168.117.129 8 (Echo (ping) request) 0 0x4ba9 ICMP首部 BE:0x0001 LE:0x0100 BE:0x01b2 LE:0xb201 61:62:63:64:65:66:67:68:69:6a:6b:6c:6d:6e:6f:70: 71:72:73:74:75:76:77:61:62:63:64:65:66:67:68:69(32bytes) ICMP数据部分 表5 ping请求报文信息表 接下来一条信息是ping应答报文信息,wireshark抓取的数据如图12,将wires抓取的信息填入表1中得到表6: 图12 wireshark抓取的ping应答报文的信息 00:50:56:c0:00:08 00:0c:29:6c:de:e7 0x0800(IP) 以太网首部 4 20 0x00 60 IP首部 0x9922 0x00 0 64 1(ICMP) 0x75cb 192.168.117.129 192.168.117.1 0 (Echo (ping) reply) 0 0x53a9 ICMP首部 BE:0x0001 LE:0x0100 BE:0x01b2 LE:0xb201 61:62:63:64:65:66:67:68:69:6a:6b:6c:6d:6e:6f:70: 71:72:73:74:75:76:77:61:62:63:64:65:66:67:68:69 ICMP数据部分 表6 ping应答报文信息表 其余几条ping信息类似于上面两条,这里就不再一一列举。 4.2 IPV6下的抓包解析 ICMPv6的报文格式 ICMPv6的报文格式和ICMP报文格式基本相同,如图6 ICMP回显请求和回显应答报文格式。 综上所述可以得到wireshark抓取ping ubuntu的IPv6地址的信息表: 6字节 目的MAC地址 6字节 源MAC地址 2字节 类型 以太网首部 4位 版本 8位流量分类 20位流标签 IPv6首部 16有效载荷长度 8位下一首部 8位跳数限制 128位源IP地址 128位目的IP地址 8位类型 8位代码 16位校验和 ICMP首部 16位标记符 16位序列号 ICMP数据部分 ICMP数据部分 表7 IPv6下wireshark的抓取信息表 Wireshark抓取的数据如图14,将数据填入表7可以得到表8 图14 wireshark抓取的ping数据 00:0c:29:6c:de:e7 00:50:56:c0:00:08(Vmware_c0) 0x86dd ( IPv6) 以太网首部 6 0x00000000 0x00000000 IPv6首部 40 58 ( ICMPv6 ) 64 fe80::b4:82aa:7985:c397 fe80::20c:29ff:fe6c:dee7 128( Echo (ping) request ) 0 0x0d9a ICMP首部 0x0001 129 61:62:63:64:65:66:67:68:69:6a:6b:6c:6d:6e:6f:70: 71:72:73:74:75:76:77:61:62:63:64:65:66:67:68:69(32bytes) ICMP数据部分 表8 IPv6下的ping数据格式(94bytes) 4.3 运用wireshark抓包对ping解析(桥接模式) 将虚拟主机网络适配器设立成桥接模式,如图15,为使本机与虚拟机可以正常通信对其进行图16的设立 图15 桥接模式 图16 设立 对vmnat8和vmnat1抓包都抓不到信息,我采用对本机的本地连接进行抓包,得到的信息与nat模式基本一致。 4.4 运用wireshark抓包对ping解析(仅主机模式) 仅主机模式要对VMnet1进行抓包,报文格式与nat模式也基本一致。 实验总结 1) IPV4与IPV6的区别 Pv6与IPv4优劣对比 1、更大的地址空间。IPv4中规定IP地址长度为32,即有2^32-1个地址;而IPv6中IP地址的长度为128,即有2^128-1个地址。2、更小的路由表。IPv6的地址分派一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表达一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。3、增强的组播(Multicast)支持以及对流的支持(Flow-control)。.4、加入了对自动配置(Auto-configuration)的支持。 2) 通过实验了解了Wireshark的用法及在抓取ping的用途,对IP协议,以太网协议,arp协议有了一定的了解,对计算机网络通信中的数据传输有了大约的结识。 实验二 raw socket分析 1.背景知识 1.1 raw socket简介 raw socket中文叫原始套接字,它和其他的套接字的不同之处在于它工作在网络层或数据链路层,而其他类型的套接字工作在传输层,只能进行传输层数据操作。我们常使用raw socket进行数据监听,在网卡处在混杂模式下时,可以接受所有通过网卡的数据,涉及广播的数据包和发向自己的数据包,当然在共享式网络中(典型的hub组建的局域网),所有的数据包都是广播的,所以都能接受到,在互换式网络中只能接受到发向自己的包和以广播方式发的包。我们还可以设立是否手动解决要发送的数据的IP包头(通过设立socket选项),当然一般是需要设立成手动解决的。 1.2 内核接受网络数据后在raw socket上解决原则 a、由于工作在网络层上的raw socket不使用udp和tcp协议,所以系统收到tcp和udp协议的数据包不会发送到工作在网络层上的raw socket。而假如raw socket工作在链路层上,那包系统会将所以收到的数据包都复制一份发送给raw socket。 b、由于工作在网络层上的raw socket经常使用ICMP,EGP等协议,所以假如系统收到ICMP和EGP等使用IP数据包承载数据但又在传输层之下的协议类型的数据包,系统会将这些包复制一份发送给相应协议类型的raw socket进行解决(也就是说假如raw socket没有使用bind和connect函数,那么系统会将所以符合raw socket协议的数据包送给raw socket解决)。 c、假如工作在网络层上的raw socket使用bind绑定了一个地址,那么系统只将收到目的地址为bind所绑定地址的ICMP和EGP等传输层之下的协议的数据包发送给raw socket解决 d、假如工作在网络层上的raw socket使用connect函数远程连接到其他机器地址的话,那么系统只将收到的源地址为connect地址的且协议为ICMP等传输层之下的协议的数据包发送给raw socket解决。 e、对于不能辨认协议类型的数据包,系统会进行必要的较验,然后检查有没有匹配协议类型的raw socket,假如有的话,就复制一份给raw socket,假如没有就简朴的丢弃。并返回一个主机不可达的ICMP给源主机。 使用setsockopt设立socket的选项,其中IP_HDRINCL用来设立是否手动解决ip包头,假如设立为真,那么需要自己创建IP包头,然后发送,假如没有设立,那么系统会自动为raw socket设立IP包头附加在我们自己的数据之前。当然使用raw socket接受的数据包总是包具有IP包头。由于有这样的可以使用虚假的源地址等操作,所以需要root权限。 1.3 raw socket的使用 1、像其他类型的socket同样,raw socket的创建非常简朴,直接使用socket函数进行创建 int socketfd = socket(AF_INET,SOCK_RAW,IPPROTO_ICMP); /*在网络层使用的原始套接字*/ int socketfd = socket(PF_PACKET,SOCK_RAW,htons(ETH_P_IP)); /*在链路层使用*/ 注意:在指定协议的时候,不能向其他套接字同样简朴的指定为0(IPPROTO_IP),由于其他套字字会根据套接字的类型自动选择其协议,比如stream类型的协议会选择为tcp的协议,而原始套接字不行。这些协议在unix里面定义在<netinet/in.h>文献里,当然要使用这些协议还需要内核对该协议的支持。 1.4 TCP协议分析 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完毕第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内 另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道同样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包互换。 应用层向TCP层发送用于网间传输的、用8位字节表达的数据流,然后TCP把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元( MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接受端实体 的TCP层。TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接受端实体的包的按序接受。然后接受端实体对已成功收到的包发回一个相应的确认(ACK);假如发送端实体在合理的往返时延(RTT)内未收到确认,那么相应的数据包就被假设为已丢失将会被进行重传。TCP用一个校验和函数来检查数据是否有错误;在发送和接受时都要计算校验和。 TCP首部 = 16位源端标语+16位目的端标语+32位序号+32位确认序号+4位首部长度+保存位(6位)+URG+ACK+PSH+RST+SYN+FIN+16位窗口大小+16位检查和+16位紧急指针 可如下结构定义: typedef struct { WORD SPort; //16位源端标语 WORD DPort; //16位目的端标语 DWORD SeqNum; //32位序号 DWORD AckNum; //32位确认序号 BYTE Reserved1 : 4; //保存4位 BYTE HLen : 4; //4位首部长度 BYTE CB_FIN : 1; //发端完毕发送任务 BYTE CB_SYN : 1; //同步序号用来发起一个连接 BYTE CB_RST : 1; //重建连接 BYTE CB_PSH : 1; //接受方应当尽快将这个报文段交给应用层 BYTE CB_ACK : 1; //确认序号有效 BYTE CB_URG : 1; //紧急指针有效 BYTE Reserved2 : 2; //保存2位 WORD Window; //16位窗口大小 WORD Checksum; //16位检查和 WORD UrgPtr; //16位紧急指针 } TCPHEADER; ============================================================= IP首部 = 4位版本+4位首部长度+8位服务类型(TOS)+16位总长度+16位标记+3位标志+13位片偏移+8位生存空间(TTL)+8位协议+16位首部检查和+32位源IP地址+32位目的IP地址。 可如下结构定义: typedef struct { BYTE HLen : 4; //4位长度 BYTE Vers : 4; //4位版本 //TOS 服务类型 Begin ***************************** //**************无 最小费用(该变量只在NNTP中有效)*** BYTE ST_NoUse : 2; //未用位 BYTE ST_Reliability : 1; //最高可靠性 BYTE ST_Throughput : 1; //最大吞吐量 BYTE ST_Delay : 1; //最小时延 BYTE ST_Precendence : 3; //优先权子字段(据说现在已经被忽略) //TOS 服务类型 End ***************************** WORD TotalLen; //16位总长度(字节数) WORD ID; //16位标记 // 13位片位移和3位标志在IP分片中才用到 BYTE OffHigh : 5; //13位片偏移 高5位 //3位标志 Begin ********************* BYTE Flag_MoreFrag : 1; //更多分片位 BYTE Flag_DoNotFrag : 1; //不可分片位 BYTE Flag_NoUse : 1; //3位标志 End ********************* BYTE OffLow : 8; //13位片偏移 低8位 BYTE TimeToLive : 8; //TTL 8位生存时间 BYTE Protocol : 8; //8位协议 WORD HChecksum; //16位首部检查和 BYTE SIP[4]; //32位源IP地址 BYTE DIP[4]; //32位目的IP地址 } IPHEADER; 2.实验目的 1) 掌握raw socket的使用方法 2) 理解raw socket对网络抓包的过程 3) 掌握raw socket对ping的抓包 4) 掌握raw socket对TCP协议的抓包 3.实验内容 1)在理解raw socket原理的基础上,使用raw socket 进行编程,并将raw socket抓取的内容打印出来 2)使用raw socket对ping程序进行抓取 3)使用raw socket对tcp协议进程抓取 4.实验环节 1) 打开虚拟机ubuntu,并为ubuntu配置与主机在同一局域网的IP地址 2) 在ubuntu中使用ubuntu编写raw socket程序,程序内容是使用raw socket对通过网卡的包进行抓取,并根据包中的信息,将响应的信息打印出来 3) 测试编写的小程序对ping程序的抓包 4) 测试编写的小程序对TCP协议的抓包,其中TCP协议是使用服务端、客户端模式的通信。 5) 对IPV6下raw socket的抓包,反复上面1-4环节。 使用Raw socket编写的程序代码如下: /* * Copyright(C) 2023 Ruijie Network. All rights reserved. */ /* * rawsocket.c * Original Author: , 2023-3-15 * * Capture ethernet packet and display them */ #include <stdio.h> #include <unistd.h> #include <sys/socket.h> #include <sys/types.h> #include <linux/if_ether.h> #include <linux/in.h> #include <stdlib.h> #define MAXDATASIZE 1536 #define ETHERNETLENGTH 64 int main() { printf("------rawsocket 抓包开始:--------\n"); int sock, n_recv, proto,i; char buffer[MAXDATASIZE]; char *ethhead, *iphead, *tcphead,*udphead, *icmphead, *p; if((sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP))) < 0) { perror("socket:"); exit(1); } while(1) { n_recv = recvfrom(sock, buffer, 2048, 0, NULL, NULL); if(n_recv < 42) { perror("Incomplete header, packet corrupt:"); continue; } ethhead = buffer; p = ethhead; for(i=0; i<ETHERNETLENGTH; i++) printf("%02X",p[i]&0XFF); printf("\n"); printf("MAC: %.2X:%02X:%02X:%02X:%02X:%02X==>" "%.2X:%.2X:%.2X:%.2X:%.2X:%.2X\n", p[6]&0XFF, p[7]&0XFF, p[8]&0XFF, p[9]&0XFF, p[10]&0XFF, p[11]&0XFF, p[0]&0XFF, p[1]&0XFF, p[2]&0XFF,p[3]&0XFF, p[4]&0XFF, p[5]&0XFF); iphead = ethhead + 14; p = iphead + 12; printf("IP: %d.%d.%d.%d => %d.%d.%d.%d\n", p[0]&0XFF, p[1]&0XFF, p[2]&0XFF, p[3]&0XFF, p[4]&0XFF, p[5]&0XFF, p[6]&0XFF, p[7]&0XFF); proto = (iphead + 9)[0]; p = iphead + 20; printf("Protocol:"); switch(proto) { case IPPROTO_ICMP: printf("ICMP\n"); break; case IPPROTO_IGMP: printf("IGMP\n"); break; case IPPROTO_IPIP: printf("IPIP\n"); break; case IPPROTO_TCP : case IPPROTO_UDP : printf("%s,", proto == IPPROTO_TCP ? "TCP": "UDP"); printf("source port: %u,",(p[0]<<8)&0XFF00 | p[1]&0XFF); printf("dest port: %u\n", (p[2]<<8)&0XFF00 | p[3]&0XFF); break; case IPPROTO_RAW : printf("RAW\n"); break; default:printf("Unkown, please query in include/linux/in.h\n"); } } } 实验总结 1) Raw socket与wincap的区别 1.Winpcap可以抓到链路层的包,而raw socket不行.winpcap用与98,2023,raw socket只能用与2023. 2.winpcap需要装个winpcap驱动,raw socket不需要,winpcap重要用与协议分析,发送报文,网络控制等等,功能更强大一些. 2) 通过本次实验学习编写抓包的程序,以及如何在ubuntu环境下ping主机IP地址以及抓包的方法。这次实验和上一次还是有很大的不同的,这一次是通过自己编的程序来进行抓包的,使学生更加对抓包有了深的了解,也使学生有了爱好。 实验三 大学校园网主干线设计之组网设计 1.背景知识 本设计简要地讨论了校园网络规划设计中涉及到的网络技术、规划设计方法、网络性能及应用分析等问题,为校园网络的规划、设计等方面在技术及应用上提供参考,以使在建或规划中的校园网络具有较高的整体性能。 随着信息技术的不断发展和人们对各种数据形式的信息需求和交流的不断增长,使得当今的计算机网络,特别是Internet从传统的数据解决设备(如计算机)和管理工具中驳离出来,担当一个非常重要的角色——信息技术的基础设施与获取、共享和交流信息的重要工具,并成为人们在当今社会生活及工作中不可缺少的组成部分。通过了几年的迅猛发展,计展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




网络工程规划与系统集成实验指导书.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/3328554.html