目录
一、验证性实验
1)ipconfig
ipconfig是微软操作系统中用来控制网络连接的一个命令行工具。它主要用来显示当前网络连接的配置信息。
实作:
使用ipconfig/all来查看自己计算机的网络配置。
可以看到在我当前的计算机上,IP地址为:192.168.2.8,子网掩码SubnetMask为:255.255.255.0,网关Gateway为:192.168.2.1。
2)ping
ping(Packet Internet Groper),因特网包探索器,是用于测试网络连接量的程序。ping是工作在TCP/IP网络体系结构中应用层的一个服务命令,主要是向特定的目的主机发送ICMP(Internet Control Massage Protocol 因特网报文控制协议)Echo请求报文,测试目的站是否可达及了解其有关状态。
实作:
测试当前主机到重庆交通大学的web服务器的连通性。
其中TTL是指生存时间,这里指的是ping操作执行后向目的主机发送的ping包被路由器丢弃前可以通过的最大网段数量,每经过一个路由器TTL的值都会减1,当其减为0后这个包就会被丢弃。TTL的存在可以防止包在网络上无休止的传播发送。
ping返回的时间是指包返回时的时间,上面的操作发送了四个包,最短返回的包用时8ms,最长用时12ms,平均用时10ms,所以当前计算机和重庆交通大学的web服务器是连通的。
3)tracert
TRACERT(Trace Route的缩写),也称为路由追踪,该命令行程序可以用于追踪Internet协议(IP)数据包传送到目的地址所经过的路径。
实作:
查看当前计算机到www.baidu.com中间经过了哪些节点(路由器)及其他状态。使用tracert www.baidu.com命令来查看反馈信息。
4)ARP
ARP(Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即IP地址查找并得到对应得数据链路层地址即MAC地址的协议。ARP协议定义在1982年的RFC 826。
实作:
运行arp -a命令查看当前arp缓存。
使用**arp /?**命令了解其各种选项。
5)DHCP
DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于IP网络的网络协议,位于OSI模型的应用层,使用UDP协议工作,主要有两个途径:
- 用于内部网或网络服务提供商自动分配IP地址给用户
- 用于内部网管理员对所有电脑作中央管理
简单来说,DHCP可以让计算机自动获取/释放网络配置。
实作:
使用ipconfig/release命令释放自动获取的网络配置。
使用ipconfig/renew命令重新获取。
6)netstat
无论是使用TCP还是UDP,任何一个网络服务都与特定的端口关联在一起。因此,每个端口都对应某个通信协议/服务。
netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。
实作:
查看常用的端口与服务记录。
使用netstat -an命令,查看计算机当前网络都链接状况。
7)DNS
DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和IP地址互相映射的一个分布式数据库,能够使人更加方便地访问互联网。DNS使用TCP和UDP的53号端口。
实作:
查看当前主机固定/静态的DNS信息记录。
使用ipconfig/displaydns命令查看DNS缓存记录。
8)cache
cache即缓存,是IT领域的一个重要技术。我们此处提到的cache主要是浏览器缓存。浏览器缓存是根据HTTP报文的缓存标识进行的,是性能优化中简单高效的一种优化方式。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以反复使用,还可以减少带宽,降低网络负荷。
实例:
在Chrome浏览器中访问http://qige.io,然后按下F12或Ctrl+Shift+I组合键打开开发者工具,查看哪些文件被cache了。
使用Disable cache选项,然后刷新页面观察加载时间的变化。
二、Wireshark实验
一)数据链路层
实作一 熟悉Ethernet帧结构
自上而下分别是目的MAC、源MAC、帧类型。
实作二 了解子网内/外通信时的MAC地址
访问子网计算机时,目的MAC就是该主机的,访问非本子网的计算机,目的MAC就是网关的。
实作三 掌握ARP解析过程
当主机在执行ping其他主机的操作时,会发出一个arp广播,该广播会询问其他主机是否有目的MAC的地址,若有则告知当前主机。
二)网络层
实作一 熟悉IP包结构
自上而下分别是:版本信息、头部长度、总长度、TTL、协议类型、头部校验和、源IP、目的IP。
实作二 IP包的分段与重组
实作三 考察TTL事件
可以看到TTL在逐一增加,且每个都发送了三次。
三)传输层
实作一 熟悉TCP和UDP段结构
其中:
- source port:源端口
- destination port:目的端口
- sequence number:序列号
- acknowledgment number:确认序列号
- Header Lengh:四位首部地址
其中:
- source port:源端口
- destination port:目的端口
- length:长度
- checksum:校验码
实作二 分析TCP建立和释放连接
访问qige.io进行抓包。
第一次握手
第二次握手
第三次握手
四)应用层
实作一 了解DNS解析
使用ipconfig/flushdns清除缓存后使用nslookup qige.io进行解析,同时使用wireshark抓包。
当前主机使用UDP向默认DNS服务器的53号端口发送了请求。
DNS服务器的53号端口返回结果。
实作二 了解HTTP的请求和应答
访问qige.io并抓包,在捕获的包中找到HTTP请求包,查看请求使用了什么命令。
qige使用的是https无法在wireshark中直接过滤出来。
大部分命令都是用的GET。
三、Cisco Packet Tracer实验
直接连接连接两台PC构建LAN
配置网络
用PC0去pingPC1。
成功连通。
用交换机构建LAN
各pc的基本网络配置:
机器名 | IP | 子网掩码 |
---|---|---|
PC0 | 192.168.1.1 | 255.255.255.0 |
PC1 | 192.168.1.2 | 255.255.255.0 |
PC2 | 192.168.2.1 | 255.255.255.0 |
PC3 | 192.168.2.2 | 255.255.255.0 |
PC0可以ping通PC1
PC0ping不通PC2和PC3
说明位于同一子网的PC可以直接通信,但是不在同一子网的PC不能相互通信。