Windows下与网络相关的命令行

一、ipconfig

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

1、使用ipconfig查看自己计算机的网络配置

  • 在命令行窗口输入以下命令
ipconfig/all

运行结果:
在这里插入图片描述
在这里插入图片描述

IP 地址: IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

子网掩码 Subnet Mask: 子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。 [1]
子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在广域网上。

网关 Gateway:网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同层–应用层。

2、与他人计算机的网络配置的对比

在这里插入图片描述

  • 不同之处:两者的IP地址不同,物理地址(MAC)不同

✎ 问题 我的计算机和旁边的计算机是否处于同一子网,为什么?

答:是处于同一子网,我的计算机IP地址与子网掩码二者用二进制相与的结果是10.160.0.0,旁边的计算机也是如此,所以我的计算机和旁边的计算机是否处于同一子网。

二、ping

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

1、使用ping测试腾讯主页

  • 在命令行窗口输入以下命令
ping www.tencent.com
  • 运行结果:
    在这里插入图片描述

TTL含义:TTL是 Time To Live的缩写,TTL是生存时间的意思。表示该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。

时间:与对方主机往返一次所用的时间

字节:表示测试中发送的数据包大小是32个字节

2、使用 ping/? 命令了解该命令的各种选项

  • 输入命令:
ping/?
  • 执行结果:
    在这里插入图片描述
  • 输入命令
ping -t www.tencent.com
  • 执行结果:
    在这里插入图片描述
  • 假设你不能 ping 通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 ping 通?

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

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

假设ping 百度的 IP 即 ping 14.215.177.39 没问题,但 ping 百度的域名即 ping www.baidu.com 不行,那么可能的原因是什么?如何进行验证和解决?

这是因为域名解析不出来。DNS是负责解析域名的。
解决方法如下:

  • 首先清空一下DNS缓存,命令窗口ipconfig/flushdns然后设置电脑的DNS为google的DNS 8.8.8.8 或者电信的 101.226.4.6或者114.114.114.114大部分是可以的 如果还是Ping不通 则可联系给域名服务的服务商,他们会给出dns服务器。
  • QQ是不需要DNS解析域名的,所以有时候能上 QQ,却不能上网。

三、tracert

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

1、了解到 www.tencent.com 中间经过了哪些节点(路由器)及其它状态

  • 输入命令:
tracert www.tencent.com
  • 执行结果:
    在这里插入图片描述
  • 可通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2、探测从全球主要的 ISP 到某站点的路线状态

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

✎ 问题一

tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?
实验进行验证。

  • Tracert是利用ICMP和TTL进行工作的,首先tracert会发出TTL值为1的ICMP数据报。当到达路径上的第一个路由器时,路由器会将TTL值减1,此时TTL值变成0,该路由器会将此数据报丢弃,并返回一个超时回应数据报
    当tracert收到该数据报时,它便获得了这个路径上的第一个路由器的地址。接着,tracert再发送另一个TTL为2的数据报,第一个路由器会将此数据报转发给第二个路由器,而第二个路由器收到数据报时,TTL为0。第二个路由器便会返回一个超时回应数据报,从而tracert便获得了第二个路由器的地址。
  • Tracert每次发出数据报时便会将TTL加1(一般每次都是发3个数据报),来发现下一个路由器。这个动作一直重复,直到到达目的地或者确定目标主机不可到达为止。当数据报到达目的地后,目标主机并不返回超时回应数据报。Tracert在发送数据报时,会选择一个一般应用程序不会使用的号码(30000以上)来作为接收端口号,所以当到达目的地后,目标主机会返回一个ICMP port unreachable(端口不可达)的消息。当tracert收到这个消息后,就知道目的地已经到达了。
  • Tracert会提取ICMP的超时回应数据报中的IP地址并作主机名解析(用-d参数表示不解析主机名,解析主机名会耽误一些时间),然后将所经过的路由器的主机名及IP地址、数据报每次往返花费的时间显示出来。Tracert有一个固定的等待响应时间,如果这个时间过了,tracert就会输出“*”来表示某个设备没有在规定的时间内作出响应,然后tracert会将TTL值加1,继续进行检测。

✎ 问题二

在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?

  • 这是由于计算机在访问外部网络时,首先都要到达上一级的交换机网关,所以路径中的第一跳都是相同的。

✎ 问题三

在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?

  • 主机与该节点的连接超过了固定响应时间,该节点没有在规定的时间内作出响应。

四、ARP

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

1、查看当前的arp缓存

  • 输入命令:
arp -a

在这里插入图片描述

2、了解命令

  • 输入命令:
apr/?
  • 执行结果:
    在这里插入图片描述

3、使用” arp -s (本机网关地址)(MAC地址)“ 命令设置其为静态类型的。

  • 首先查看自己的ip地址和物理地址(MAC)
    在这里插入图片描述

  • 输入命令:

arp -s 192.168.43.223 70-1C-E7-A3-DA-18
  • 执行结果:
    在这里插入图片描述

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

  • 右键—>以管理员身份运行

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

  • 1.缓存本身记录着你有访问过的pc.网卡MAC物理地址。方便再次下次访问。
  • 优点是便于管理,特别是在根据IP地址限制网络流量的局域网中,以固定的IP地址或IP地址分组产生的流量为依据管理,可以免除在按用户方式计费时用户每次上网都必须进行的身份认证的繁琐过程。
  • 缺点是不利于维护 arp 列表,而且合法用户分配的地址可能被非法盗用,给合法用户造成损失和潜在的安全隐患。

五、DHCP

DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途:
用于内部网或网络服务供应商自动分配 IP 地址给用户 用于内部网管理员对所有电脑作中央管理 简单的说,DHCP
可以让计算机自动获取/释放网络配置。

1、了解 DHCP 工作过程和原理。

  • 输入命令
ipconfig/release
  • 执行结果
    在这里插入图片描述
  • 输入命令
ipconfig/renew
  • 执行结果
    在这里插入图片描述

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

  • 电脑IP地址没有设置为自动获取
    win10系统解决方法:
  • 点击设置,选择网络和Internet
    在这里插入图片描述
    -选择以太网,点击网络与共享中心
    在这里插入图片描述
  • 选择目前连接的网络,点击属性
    在这里插入图片描述
    -双击IP协议版本4,选择自动获取IP地址,自动获取DNS服务器地址,点击确定。
    在这里插入图片描述

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

  • 这是Windows操作系统为了短暂性的解决计算机不能获取 DHCP 服务器的配置数据的问题,虽然由于某种原因计算机不能获取 DHCP 服务器的配置数据时,但他们还可以通过保留地址还可以互相通讯。

六、netstat

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

1、查看Windows系统常用的端口与服务记录

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

2、使用 netstat -an 命令,查看计算机当前的网络连接状况。

  • 输入命令
netstat -an
  • 执行结果:
    在这里插入图片描述

七、DNS

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

1、查看host文件

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

2、查看DNS记录

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

3、查询域名

  • 使用 nslookup qige.io 命令,将使用默认的 DNS 服务器查询该域名。当然你也可以指定使用 CloudFlare(1.1.1.1)或 Google(8.8.8.8) 的全球 DNS 服务器来解析。
  • 输入命令:
nslookup qige.io
  • 执行结果
    在这里插入图片描述

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

-当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,浏览器会立即打开对应网页。当广告跳转出来的时候,我们就可以使用一些方法找到广告相对应的域名,然后修改 hosts 文件来屏蔽广告的域名。广告拦截失效的原因在于此时弹出的小广告不是链接,而是一些特殊的广告,比如flash广告,这时候你可以可以通过察看网页的源代码,找出flash广告的地址去屏蔽。

八、cache

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

1、查看浏览器缓存

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

2、与有 cache 时的加载速度差异

  • 接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。
    在这里插入图片描述
  • 二者对比明显有cache时加载速度比没有时快。
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值