计算机网络验证性实验

ipconfig

ipconfig是是微软操作系统的计算机上用来控制网络连接的一个命令行工具。它的主要用来显示当前网络连接的配置信息(/all 参数)。

实作一

使用 ipconfig/all 查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码 Subnet Mask、网关 Gateway
在这里插入图片描述

  • 物理地址DC-BB-2B-17-A2-DC。电脑的MAC地址。
  • DHCP已启用:DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,提高ip地址的利用率。
  • IPv6地址:IPv6地址有128位,用十六进制表示。
  • IPv4地址:此电脑在局域网内的ip地址,有32位,通常用点分十进制表示。10.161.58.194
  • 子网掩码:子网掩码是在IPv4地址资源紧缺的背景下为了解决lP地址分配而产生的虚拟lP技术,它可以用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码全1表示网络号,全0表示主机号;将子网掩码写成二进制拿去与主机ip地址做与运算,得到的就是主机所在的网络号。255.254.0.0
  • 默认网关:即缺省网关。是本机所在的网络的第一台主机,当要与本子网之外的子网通信时,就要把数据发给网关,通过网关完成通信。10.160.255.254

实作二

使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。

在这里插入图片描述
我的ip地址与子网掩码相与所得的网络号和旁边的计算机的ip和子网掩码相与所得到的网络号相同,均为192.168.0.0/24,所以我们是处于同一子网的。

ping

PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序 。ping 是工作在 TCP/IP
网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message
Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。

实作一

要测试到某计算机如 重庆交通大学 Web 服务器的连通性,可以使用 ping www.cqjtu.edu.cn 命令,也可直接使用 IP 地址。
请掌握使用该命令后屏幕显示的反馈回来信息的意思,如:TTL、时间等。
在这里插入图片描述

  • 字节:数据包大小。
  • 时间:响应时间,这个时间越小,说明连接这个地址的速度越快。
  • TTL:(Time To Live)表示DNS记录在DNS服务器上存在的时间,它是IP协议包的一个值,告诉路由器该数据包何时需要被丢弃。一般经过一跳,TTL值减1,由此可以猜测自己的计算机与要ping的计算机之间有几个结点。

实作二

使用 ping/? 命令了解该命令的各种选项并实际使用。

在这里插入图片描述
应用举例:
在这里插入图片描述
-n count 发送 count 指定的 ECHO 数据包数。默认值为 4。此例中count是10,所以会列出十条数据。

Question:
假设你不能 ping 通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证ping 通?

当你的网络出现故障不能访问某计算机如14.215.177.39 (百度的 IP 地址之一 )
时,我们一般可采用由近及远的连通性测试来确定问题所在。现本计算机的 IP 是 192.168.0.155,你旁边计算机的 IP 是
192.168.0.178,网关的 IP 是 192.168.0.1 ,那么过程如下:

  1. ping 127.0.0.1 ,测试自己计算机的状态,如OK,那么说明本机网络软件硬件工作正常,否则,问题在本机,检查本机 TCP/IP 配置即网卡状态等
    在这里插入图片描述
  2. ping 192.168.0.178 ,测试到旁边计算机的连通性,如果OK,那么说明本子网内部工作正常,否则,问题在本机网络出口到交换机之间,检查本机网卡到交换机的连线等。
    在这里插入图片描述
  3. ping 192.168.0.1,测试到网关的连通性,如OK,那么说明本子网出口工作正常,否则,问题在网关,这是你无能为力的事情,报告给网管 。
    在这里插入图片描述
  4. ping 14.215.177.39,测试到百度的连通性,如果 OK,那就 OK,否则,问题在网关以外,这也是你无能为力的事情,报告给网管或者李彦宏?
    在这里插入图片描述

假设在上面进行的网络排查中,ping 百度的 IP 即 ping 14.215.177.39 没问题,但 ping 百度的域名即 ping www.baidu.com 不行,那么可能的原因是什么?如何进行验证和解决?
另外,经常有同学问到的:“能上 QQ,但不能上网” 跟这个问题的原因是相似的

域名ping不通说明域名解析不出来,负责解析域名的,就是DNS,能上 QQ,但不能上网是因为QQ不需要DNS解析域名,DNS出问题不会影响QQ。

tracert

TRACERT (Trace Route 的组合缩写),也称为路由追踪,该命令行程序可用于跟踪 Internet 协议 (IP)
数据包传送到目标地址时经过的路径。

实作一

要了解到某计算机如 www.baidu.com 中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com 命令,查看反馈的信息,了解节点的个数。
在这里插入图片描述
可以看出我的主机与百度服务器之间的中间节点有12个,并分别展示如上。
通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。

ip地址节点位置
10.160.255.254内网IP
172.19.2.2内网IP
222.176.89.77中国重庆电信
222.176.88.65中国重庆电信
113.96.11.78中国广东省广州市电信
14.215.32.134中国广东省广州市电信
14.215.177.39中国广东省广州市电信

实作二

ping.pe 这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io 进行了解。
在这里插入图片描述

1. 问题一
tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。
tracert告诉我们节点是因为网络层的包中设置了生命期,生命期第一次设置为1,经过一个节点,生命期减一,如果此时包没有到达目的地址,返回TTL过期,继续把生命期设置为2(3,4,5…n),重复之前的步骤,直到包能送到目的地址。
tracert的延迟信息一般包括分组从信息源发送到目的地所需的时间,延迟也分为许多的种类——传播延迟、传输延迟、处理延迟、排队延迟等
2. 问题二
在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
当访问百度或者棋歌教学网时,都是在访问其他子网的主机(和自己的主机不在同一子网),这是所有的数据都要通过网关发出去,由网关转回。所以路径中的第一跳都是相同的,就是网关的ip地址。
3. 问题三
在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?
中间节点请求超时(可能因为对方防火墙关闭),为了安全考虑不予回应。
在这里插入图片描述

ARP

ARP(Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即 IP
地址,查找并得到其对应的数据链路层地址即 MAC地址的协议。 ARP 协议定义在 1982 年的 RFC 826。

实作一

运行 arp -a 命令查看当前的 arp 缓存, 请留意缓存了些什么。
然后 ping 一下你旁边的计算机 IP(注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d * 先删除全部缓存),再次查看缓存,你会发现一些改变,请作出解释。
在这里插入图片描述
再次使用命令 arp -a ,可以发现多了一个地址,且是动态的,这是由于同一局域网下,如果出现新的主机,本机的接口会将新主机的 IP 和物理地址记录在列表中,从而方便下次的访问。
在这里插入图片描述

实作二

请使用 arp /? 命令了解该命令的各种选项。
在这里插入图片描述

实作三

一般而言,arp 缓存里常常会有网关的缓存,并且是动态类型的。
假设当前网关的 IP 地址是 192.168.0.1MAC 地址是 5c-d9-98-f1-89-64,请使用 arp -s 192.168.0.1 5c-d9-98-f1-89-64 命令设置其为静态类型的。
在这里插入图片描述

Question
你可能会在实作三的操作中得到 "ARP 项添加失败: 请求的操作需要提升" 这样的信息,表示命令没能执行成功,你该如何解决?

  • 以管理员身份运行cmder。

Question
在实作三中,为何缓存中常常有网关的信息? 我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?

缓存中常常有网关的信息是因为我们在通信时,大多数数据都从网关转出,将网关信息存储起来,方便路由时查表,方便下次使用。

arp 信息设置为静态:

  • 优点:利于管理,并且可以免除进行验证的繁琐操作。
  • 缺点:有安全隐患,有人可以将自己的ip伪造成你的arp列表中的某个ip地址,由于静态,不会进行验证,会造成消息泄露等安全隐患。

课外浏览 ARP
协议在制定之初是没有考虑安全性的,导致现在广泛提及的"网络扫描"、“内网渗透”、“中间人拦截”、“局域网流控”、"流量欺骗"等等其实都跟
ARP 欺骗有关。

那么什么是 ARP 欺骗,发生ARP 欺骗后会有什么后果,我们该如何进行防范?这里给出维基百科,其它的请查阅相关资料了解。

  1. 什么是ARP欺骗?在局域网中,黑客经过收到ARP Request广播包,能够偷听到其它节点的 (IP, MAC) 地址, 黑客就伪装为A,告诉B (受害者) 一个假地址,使得B在发送给A 的数据包都被黑客截取,而B 浑然不知。

  2. 为什么黑客能够进行ARP欺骗? ARP 是个早期的网络协议,RFC826在 1980就出版了。早期的互联网采取的是信任模式,在科研、大学内部使用,追求功能、速度,没考虑网络安全。尤其以太网的洪泛特点,能够很方便的用来查询。但这也为日后的黑客开了方便之门。黑客只要在局域网内阅读送上门来的ARP Request就能偷听到网内所有的 (IP, MAC)地址。而节点收到ARP Reply时,也不会质疑。黑客很容易冒充他人

  3. 能够防止欺骗吗?不能。但这种伤害的伤害已经很小。因为局域网的工作环境有了改变, 服务器通常不会和终端主机在同一个局域网。但如果黑客对主机发送ARP欺骗分组,向它伪造了网关的地址,或对网关发送ARP欺骗分组,向网关伪造了主机的mac地址,则主机也无法正常和因特网上服务器交流。
    (信息来源百度)

DHCP

DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途:

  • 用于内部网或网络服务供应商自动分配 IP 地址给用户
  • 用于内部网管理员对所有电脑作中央管理

简单的说,DHCP 可以让计算机自动获取/释放网络配置。

实作一

一般地,我们自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。使用 ipconfig/release 命令释放自动获取的网络配置,并用 ipconfig/renew 命令重新获取,了解 DHCP 工作过程和原理。

ipconfig/release
在这里插入图片描述
ipconfig/renew
在这里插入图片描述

Question
如果你没能成功的释放,请思考有哪些可能的原因并着手进行解决?

可能是因为DHCP服务没有打开。

Question
在Windows系统下,如果由于某种原因计算机不能获取 DHCP服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入Internet,那么Winodws系统采用这样的方案有什么意义?

169.254.X.X是保留地址,说明你的DHCP服务器比如路由器或交换机工作异常。这样的地址是为了告诉主机,IP 地址池里面没有多余的 IP ,或者 DHCP 中继代理失效。

netstat

无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。
netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IPTCPUDPICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。

实作一

Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services 文件中,请查看该文件了解常用的端口号分配。
在这里插入图片描述

实作二

使用 netstat -an 命令,查看计算机当前的网络连接状况。
在这里插入图片描述
更多的 netstat 命令选项:

  • 只列出 TCPUDP 协议的连接, -t 选项列出 TCP 协议的连接,-a 选项列出 tcp, udp 和 unix协议下所有套接字的所有连接。
    在这里插入图片描述
    在这里插入图片描述
  • -s 选项可以输出针对不同网络协议的统计信息,包括 Ip、Icmp、Tcp 和 Udp 等。
    在这里插入图片描述

秘籍
打开的计算机端口,就是向 Internet 打开的一个通道。通过 netstat命令,我们可以了解当前计算机哪些端口是打开的,从而找出一些恶意后台程序,分析其所作所为,并且可以进一步将相关端口关闭,降低安全风险。

DNS

DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCPUDP 的 53 号端口。

实作一

Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。
在这里插入图片描述

实作二

解析过的 DNS 记录将会被缓存,以利于加快解析速度。请使用 ipconfig /displaydns 命令查看。我们也可以使用 ipconfig /flushdns 命令来清除所有的 DNS 缓存。
在这里插入图片描述

实作三

使用 nslookup qige.io 命令,将使用默认的 DNS 服务器查询该域名。当然你也可以指定使用CloudFlare(1.1.1.1)或 Google(8.8.8.8) 的全球 DNS 服务器来解析,如:nslookup qige.io 8.8.8.8,当然,由于你懂的原因,这不一定会得到正确的答案。
在这里插入图片描述

秘籍
当我们使用浏览器上网时,或多或少的会看到一些广告。某些网站的广告是非常没有节操的,所以我们一般可以通过安装浏览器插件如 AdGuard、AdBlocker 等来拦截和过滤。
这种方法简单方便有效,不过有一定安全或隐私问题,因为该插件实时知道你访问的 URL。
假设不使用这种第三方的插件,希望自己完全控制,那么就请考虑在我们前面提到的 hosts 文件中添加 DNS记录。有自愿者时时在维护全球正确的 DNS 记录文件
hosts-1

Question
上面秘籍中我们提到了使用插件或自己修改 hosts文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它?

通过将 127.0.0.1 广告链接设置为广告推送链接,从而广告链接就不放访问到本机,而是它自己的服务器;广告拦截失效是因为有个跨服务器访问问题;可以使用 adsafe——广告管家 解决这个跨服务器访问的问题。

cache

cache 即缓存,是 IT 领域一个重要的技术。我们此处提到的 cache 主要是浏览器缓存。
浏览器缓存是根据 HTTP 报文的缓存标识进行的,是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。

实作一

打开 ChromeFirefox 浏览器,访问 https://qige.io ,接下来敲 F12 键 或 Ctrl + Shift + I 组合键打开开发者工具,选择 Network 面板后刷新页面,你会在开发者工具底部看到加载该页面花费的时间。请进一步查看哪些文件被 cache了,哪些没有。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
加载该页面花了394ms,除了qige.iofavicon.png其它的都被cache了。

实作二

接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。
在这里插入图片描述
页面加载花了20.22s说明使用cache大大加快了页面的加载。

秘籍
你的计算机可能还在使用 XX 管家,XX卫士之类的垃圾软件,那么它可能就会在某些时候提示你计算机的垃圾文件有多少多少,请清理(其实是它本身应该被清理!)之类的弹窗。如果你查看一下它判断的所谓垃圾文件,你会发现大多都是浏览器的缓存,而你已经明白了这些缓存文件的作用。所以,清理吗?

(全文中有些ip不同是因为连的子网不同)

  • 11
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值