赞
踩
本文目的是在windows上验证计算机网络命令,从而对计算机网络有初步的认识和了解。
ipconfig 是微软操作系统的计算机上用来控制网络连接的一个命令行工具,它主要用来显示当前网络连接的配置信息(/all 参数)。显示所有当前 TCP/IP 网络配置值并刷新动态主机配置协议 (DHCP) 和域名系统 (DNS) 设置。 在没有参数的情况下使用, ipconfig 显示 Internet 协议版本 4 (IPv4) 以及所有适配器的 IPv6 地址、子网掩码和默认网关。
命令行输入
ipconfig /all
查看我们自己的计算机网络配置。
从下面可以看出我们计算机上的网络配置,如Windows IP配置、无线局域网适配器 本地连接* 1、无线局域网适配器 本地连接* 10、无线局域网适配器 WLAN等配置关于IP地址、子网掩码Subnet Mask、网关Gateway的详细信息。
Windows IP 配置 ...... 以太网适配器 以太网: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 描述. . . . . . . . . . . . . . . : Realtek PCIe GbE Family Controller 物理地址. . . . . . . . . . . . . : 54-BF-64-0E-6F-3B DHCP 已启用 . . . . . . . . . . . : 是 自动配置已启用. . . . . . . . . . : 是 无线局域网适配器 本地连接* 1: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 描述. . . . . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter 物理地址. . . . . . . . . . . . . : 7C-76-35-F4-C9-B0 DHCP 已启用 . . . . . . . . . . . : 是 自动配置已启用. . . . . . . . . . : 是 无线局域网适配器 本地连接* 10: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 描述. . . . . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter #2 物理地址. . . . . . . . . . . . . : 7E-76-35-F4-C9-AF DHCP 已启用 . . . . . . . . . . . : 是 自动配置已启用. . . . . . . . . . : 是 ...... 无线局域网适配器 WLAN: 连接特定的 DNS 后缀 . . . . . . . : 描述. . . . . . . . . . . . . . . : Intel(R) Wireless-AC 9462 物理地址. . . . . . . . . . . . . : 7C-76-35-F4-C9-AF DHCP 已启用 . . . . . . . . . . . : 是 自动配置已启用. . . . . . . . . . : 是 本地链接 IPv6 地址. . . . . . . . : fe80::89e4:4e8:7e21:c7bd%20(首选) IPv4 地址 . . . . . . . . . . . . : 10.160.11.28(首选) 子网掩码 . . . . . . . . . . . . : 255.254.0.0 获得租约的时间 . . . . . . . . . : 2020年11月9日 18:57:55 租约过期的时间 . . . . . . . . . : 2020年11月10日 19:23:23 默认网关. . . . . . . . . . . . . : 10.160.255.254 DHCP 服务器 . . . . . . . . . . . : 172.18.1.101 DHCPv6 IAID . . . . . . . . . . . : 142374453 DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-24-8B-FB-5F-54-BF-64-0E-6F-3B ......
在其他电脑上继续使用上述命令查看其网络配置,发现差别主要在IP地址、子网掩码Subnet Mask、网关Gateway以及物理地址等这些方面。
你的计算机和旁边的计算机是否处于同一子网,为什么?
将ip地址和子网掩码进行与操作,发现两台电脑的网络号一样,所以两台计算机处于同一子网下。
PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序 。ping 是工作在 TCP/IP 网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。
命令行输入
ping www.baidu.com
查看我们计算机和百度服务器网络连接是否通畅。
从下面可以看出发送接收数据包为32字节并且均未丢失,往返行程平均时间35ms,TTL为54(TTL是 Time To Live的缩写,指生存时间的意思,表示该字段指定IP包被路由器丢弃之前允许通过的最大网段数量)。
正在 Ping www.a.shifen.com [14.215.177.39] 具有 32 字节的数据:
来自 14.215.177.39 的回复: 字节=32 时间=36ms TTL=54
来自 14.215.177.39 的回复: 字节=32 时间=33ms TTL=54
来自 14.215.177.39 的回复: 字节=32 时间=35ms TTL=54
来自 14.215.177.39 的回复: 字节=32 时间=39ms TTL=54
14.215.177.39 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 33ms,最长 = 39ms,平均 = 35ms
使用
ping /?
查看ping命令的各种选项的作用
用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] [-R] [-S srcaddr] [-c compartment] [-p] [-4] [-6] target_name 选项: -t Ping 指定的主机,直到停止。 若要查看统计信息并继续操作,请键入 Ctrl+Break; 若要停止,请键入 Ctrl+C。 -a 将地址解析为主机名。 -n count 要发送的回显请求数。 -l size 发送缓冲区大小。 -f 在数据包中设置“不分段”标记(仅适用于 IPv4)。 -i TTL 生存时间。 -v TOS 服务类型(仅适用于 IPv4。该设置已被弃用, 对 IP 标头中的服务类型字段没有任何 影响)。 -r count 记录计数跃点的路由(仅适用于 IPv4)。 -s count 计数跃点的时间戳(仅适用于 IPv4)。 -j host-list 与主机列表一起使用的松散源路由(仅适用于 IPv4)。 -k host-list 与主机列表一起使用的严格源路由(仅适用于 IPv4)。 -w timeout 等待每次回复的超时时间(毫秒)。 -R 同样使用路由标头测试反向路由(仅适用于 IPv6)。 根据 RFC 5095,已弃用此路由标头。 如果使用此标头,某些系统可能丢弃 回显请求。 -S srcaddr 要使用的源地址。 -c compartment 路由隔离舱标识符。 -p Ping Hyper-V 网络虚拟化提供程序地址。 -4 强制使用 IPv4。 -6 强制使用 IPv6。
假设不能 ping 通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 ping 通?
可能是因为该计算机开启了防火墙或者该计算机的网络服务未开启;要想双方能ping通对方,需要双方的计算机网络设置正常且允许访问。
假设在进行的网络排查中,ping百度的IP即ping 14.215.177.39 没问题,但 ping 百度的域名即 ping www.baidu.com不行,那么可能的原因是什么?如何进行验证和解决?
可能是因为本地DNS服务未开启导致无法将域名解析为IP地址,因而能ping通IP地址但是无法ping通域名。
验证和解决:上网搜索当地 DNS 服务器地址,检查当前 DNS 服务器设置是否正确;临时设置 DNS 服务器地址为 8.8.8.8,看能否通过该DNS服务器ping通百度域名。
当网络出现故障不能访问某计算机如14.215.177.39 (百度的 IP 地址之一 ) 时,一般可采用由近及远的连通性测试来确定问题所在。现假设我们IP是 192.168.1.89,旁边计算机的IP是192.168.1.64,网关的IP是192.168.1.1,那么过程如下:
- 1、ping 127.0.0.1 ,测试自己计算机的状态,如果OK,那么说明本机网络软件硬件工作正常,否则问题在本机,检查本机 TCP/IP 配置即网卡状态等;
- 2、ping 192.168.1.64 ,测试到旁边计算机的连通性,如果OK,那么说明本子网内部工作正常,否则问题在本机网络出口到交换机之间,检查本机网卡到交换机的连线等;
- 3、ping 192.168.1.1,测试到网关的连通性,如果OK,那么说明本子网出口工作正常,否则问题在网关,报告给网管;
- 4、ping 14.215.177.39,测试到百度的连通性,如果OK,那就OK,否则问题在网关以外。
tracert(Trace Route 的组合缩写),也称为路由追踪,该命令可用于跟踪 Internet 协议(IP)数据包传送到目标地址时经过的路径。
使用命令
tracert www.baidu.com
命令了解到百度服务器中间经过了哪些节点(路由器)及其它状态,查看反馈的信息,了解节点的个数。
通过网站 http://ip.cn可以查看这些节点位于何处,大致清楚本机到百度服务器之间的路径。
可以看出,从本地主机到百度服务器经过了12个路由器节点,部分路由器直接不回应我们的请求但是仍然将该请求传给了下一跳。
ping.pe 这个网站可以探测从全球主要的 ISP 到某站点如https://qige.io的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问http://ping.pe/qige.io进行了解。
问题一
tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?
通过向目标地址发送 Internet 控制消息协议 (ICMP) 回显数据包来确定到目标地址的路由。
问题二
在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
无论是访问百度还是棋哥教学网,都需要从本地IP出发,经过本地的路由器转发给外部路由器,因而必然前几个路由器节点是相同的。
问题三
在追踪过程中,你可能会看到路径中某些节点显示为号,这是发生了什么?
因为发给该路由器的ping包被该路由器丢弃因而显示号
ARP(Address Resolution Protocol)即地址解析协议,根据给定网络层地址即 IP 地址查找并得到其对应的数据链路层地址即 MAC地址的协议。 ARP 协议定义在 1982 年的 RFC 826。
运行 arp -a 命令查看当前的 arp 缓存, 请留意缓存了些什么。
然后 ping 一下旁边的计算机 IP(注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d * 先删除全部缓存),再次查看缓存,你会发现一些改变,请作出解释。
从上面的图片可以看出,ARP -a
命令查看了当前ARP缓存的东西,其中主要是一些IP地址及其解析出的的MAC地址,当使用命令ping 10.160.155.180
时,本地ARP缓存将会记录该IP和对应的MAC地址,方便下次的访问。
请使用 arp /? 命令了解该命令的各种选项。
λ arp /? 显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。 ARP -s inet_addr eth_addr [if_addr] ARP -d inet_addr [if_addr] ARP -a [inet_addr] [-N if_addr] [-v] -a 通过询问当前协议数据,显示当前 ARP 项。 如果指定 inet_addr,则只显示指定计算机 的 IP 地址和物理地址。如果不止一个网络 接口使用 ARP,则显示每个 ARP 表的项。 -g 与 -a 相同。 -v 在详细模式下显示当前 ARP 项。所有无效项 和环回接口上的项都将显示。 inet_addr 指定 Internet 地址。 -N if_addr 显示 if_addr 指定的网络接口的 ARP 项。 -d 删除 inet_addr 指定的主机。inet_addr 可 以是通配符 *,以删除所有主机。 -s 添加主机并且将 Internet 地址 inet_addr 与物理地址 eth_addr 相关联。物理地址是用 连字符分隔的 6 个十六进制字节。该项是永久的。 eth_addr 指定物理地址。 if_addr 如果存在,此项指定地址转换表应修改的接口 的 Internet 地址。如果不存在,则使用第一 个适用的接口。 示例: > arp -s 157.55.85.212 00-aa-00-62-c6-09.... 添加静态项。 > arp -a .... 显示 ARP 表。
一般而言,arp 缓存里常常会有网关的缓存,并且是动态类型的。假设当前网关的 IP 地址是 192.168.0.1,MAC 地址是 5c-d9-98-f1-89-64,请使用
arp -s 192.168.0.1 5c-d9-98-f1-89-64
命令设置其为静态类型的。
若得到 “ARP 项添加失败: 请求的操作需要提升” 这样的信息,表示命令没能执行成功,解决方法就是以管理员方式运行,重新输入命令arp -s 192.168.0.1 5c-d9-98-f1-89-64
即可添加成功
在实作三中,为何缓存中常常有网关的信息?我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?
因为主机通过网关访问Internet,因此主机缓存中常常有网关的信息,方便下次直接使用;将网关或其它计算机的 arp 信息设置为静态的优点是便于管理,但是缺点便是容易被非法盗用,给合法用户造成损失和潜在的安全隐患。
DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有以下用途:
- 用于内部网或网络服务供应商自动分配 IP 地址给用户
- 用于内部网管理员对所有电脑作中央管理
- 简单的说,DHCP 可以让计算机自动获取/释放网络配置。
一般地,我们自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。使用
ipconfig/release
命令释放自动获取的网络配置,并用ipconfig/renew
命令重新获取,了解 DHCP 工作过程和原理。
释放自动获取的网络配置:
重新获取网络配置:
如果没能成功的释放,请思考有哪些可能的原因并着手进行解决?
可能的原因是DHCP服务器未及时响应我们的释放IP地址的请求,导致不能成功释放已经动态分配的IP地址或者是因为本地的DHCP服务因为某种原因处于故障状态。
在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?
这样能够保证一台计算机都能有一个IP地址,这样可以通过该IP地址在局域网中访问这台主机。
无论使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。
netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。
Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services 文件中,请查看该文件了解常用的端口号分配。
使用
netstat -an
命令,查看计算机当前的网络连接状况。
可以看出不同网络连接对应的端口号是不同的。
DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。
Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。
解析过的DNS记录将会被缓存,以利于加快解析速度。请使用
ipconfig /displaydns
命令查看。我们也可以使用ipconfig /flushdns
命令来清除所有的 DNS 缓存。
1.查看DNS记录
2.清除DNS缓存
使用
nslookup qige.io
命令,将使用默认的DNS服务器查询该域名。
当我们使用浏览器上网时,或多或少的会看到一些广告。某些网站的广告是非常没有节操的,所以我们一般可以通过安装浏览器插件如 AdGuard、AdBlocker 等来拦截和过滤。这种方法简单方便有效,不过有一定安全或隐私问题,因为该插件实时知道你访问的 URL。假设不使用这种第三方的插件,希望自己完全控制,那么就请考虑在我们前面提到的 hosts 文件中添加 DNS 记录。有自愿者时时在维护全球正确的DNS记录文件如下:
https://github.com/otobtc/ADhosts/blob/master/hosts
使用插件或自己修改hosts文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它?
因为通过hosts文件屏蔽广告是将一些常用的网址域名与其对应的IP地址建立一个关联"数据库",广告是由该域名跳转而来,因此屏蔽域名即可达到屏蔽广告的效果;广告拦截失效的原因在于此时弹出的小广告不是链接,不会访问本机而是直接访问其他的服务器,因而某些广告无法拦截。
cache 即缓存,是 IT 领域一个重要的技术。我们此处提到的 cache 主要是浏览器缓存。浏览器缓存是根据 HTTP 报文的缓存标识进行的,是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。
打开 Chrome浏览器,访问 https://qige.io ,接下来敲 F12 键或Ctrl + Shift + I 组合键打开开发者工具,选择Network 面板后刷新页面,你会在开发者工具底部看到加载该页面花费的时间。请进一步查看哪些文件被 cache了,哪些没有。
加载该页面时间:716ms
接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。
加载该页面时间:6.63s
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。