一、查看网络延迟和丢包情况——ping命令
1.1 查看ping的帮助信息——【ping /?】
执行命令【ping /?】,打印帮助信息。
1.2 最基本的用法——【ping ip/域名
】
查看本机到目标主机的延迟和丢包率。
其中字段target name只能是主机域名或IP地址。
上面是Ping域名,可以得到目标主机的ip地址;下面试试ping通这个ip地址。
这个命令经常用来检查网络状态是否良好,从顶层来验证是否可以正常上网。
1.3 指定次数地ping通——【ping -n x target】
设定ping的次数。默认的ping次数是4次,但如果你想修改次数,例如Ping百度搜索的服务器9次,可以用命令【ping baidu.com -n 9】。
1.4 不限次数地ping通
如果你想要持续很多次地ping通某个主机,可以用-t参数来实现。
在ping的过程中,如果按下快捷键ctrl+c,就会彻底停止,并进行统计。
而如果按下快捷键ctrl+break(或pause),经过短暂的停止并统计后,还会继续ping目标主机。
1.5 指定流量地ping通——【ping -l xxxx target】
默认单次收发的流量是32个字节,如果你想要更改成更大的,可以用到参数【-l】。
但是,微软对ping的流量进行了软限制,最大只能是65500个字节。
究其原因,是因为流量太大容易导致目标主机宕机(dos攻击就是不间断地发送大数据包),或许我们用一台主机去ping目标它不会出问题,但是一旦我们用很多主机去持续不断地ping目标,它就很可能会拥塞、甚至瘫痪。
例如执行命令【ping -l 655 -t baidu.com】,不间断地对百度搜索服务器进行数据收发的网络通信。
1.6 ping当前主机,检查TCP/IP协议
检查TCP/IP协议是否配置正常。
ping 127.0.0.1或ping localhost是用来检查TCP/IP协议的,如果正常说明网络层和传输层不存在问题。
还有一种“检查网关连接是否畅通”的场景。
先用ipconfig命令查看网关地址是多少,如下图所示我的默认网关是192.168.2.1。
ping网关地址,没发现任何问题。
1.7 批量ping网段——for /l命令
例如下面的命令,就可以Ping一个网段的255个ip地址。
for /L %D in(1,1,255) do ping 10.168.1.%D
二、检测服务器的端口是否开放——telnet命令
对于windows10,如果你在执行cmd命令telnet时出现了【'telnet' 不是内部或外部命令,也不是可运行的程序】的错误,说明你没有打开这个windows功能。
搜索【启用或关闭Windows功能】,打开后,勾选Telnet客户端。
再打印telnet的命令帮助信息。
开发人员经常用到80端口来辅助他们的工作,因此打开服务器后需要检测80端口是否正常启动。
我们没有申请过自己的服务器,那么就借助百度搜索的服务器完成测试。
执行命令【telnet baidu.com 80】。
如果进入类似下图这样全黑的界面,标题是Telnet xxx,那么说明端口就是正常的。
如果执行命令【telnet baidu.com 23】,就会发现一直处于连接或最终出现连接失败的状态,原因很明显,百度搜索服务器关闭了23端口,之所以这样是因为服务器端口越开放,开放地越多,越容易受到黑客的攻击。
三、查询域名对应的IP地址——nslookup
例如查询baidu.com的IP地址有哪些?
C:\Users\Administrator>nslookup baidu.com
服务器: pub1.sdns.360.cn
Address: 101.226.4.6
名称: baidu.com
Addresses: 220.181.38.251
220.181.38.148
四、路由查询命令——arp
4.1 打印arp命令的帮助信息
执行命令【arp /?】,打印帮助信息。
C:\Users\Administrator>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 表。
C:\Users\Administrator>
4.2 查询所有arp记录——arp -a
什么是arp记录?
arp是地址解析协议,其基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。
最基本的查询命令【arp -a】,执行后如下
如果想要更详细的信息,包括所有无效项和环回接口上的项,可以使用命令【arp -a -v】。
C:\Users\Administrator>arp -a -v
接口: 127.0.0.1 --- 0x1
Internet 地址 物理地址 类型
224.0.0.22 静态
224.0.0.100 静态
224.0.0.251 静态
238.238.238.238 静态
239.255.255.250 静态
接口: 0.0.0.0 --- 0xffffffff
Internet 地址 物理地址 类型
224.0.0.22 01-00-5e-00-00-16 静态
224.0.0.100 01-00-5e-00-00-64 静态
238.238.238.238 01-00-5e-6e-ee-ee 静态
接口: 0.0.0.0 --- 0xffffffff
Internet 地址 物理地址 类型
224.0.0.22 01-00-5e-00-00-16 静态
224.0.0.100 01-00-5e-00-00-64 静态
238.238.238.238 01-00-5e-6e-ee-ee 静态
接口: 0.0.0.0 --- 0xffffffff
Internet 地址 物理地址 类型
192.168.2.1 00-00-00-00-00-00 无效
224.0.0.22 01-00-5e-00-00-16 静态
224.0.0.100 01-00-5e-00-00-64 静态
238.238.238.238 01-00-5e-6e-ee-ee 静态
255.255.255.255 ff-ff-ff-ff-ff-ff 静态
接口: 0.0.0.0 --- 0xffffffff
Internet 地址 物理地址 类型
224.0.0.22 01-00-5e-00-00-16 静态
224.0.0.100 01-00-5e-00-00-64 静态
238.238.238.238 01-00-5e-6e-ee-ee 静态
接口: 192.168.2.199 --- 0x11
Internet 地址 物理地址 类型
192.168.2.1 74-7d-24-a5-d5-07 动态
192.168.2.129 50-eb-71-15-30-d8 动态
192.168.2.235 a4-b1-c1-ae-18-d4 动态
192.168.2.255 ff-ff-ff-ff-ff-ff 静态
224.0.0.22 01-00-5e-00-00-16 静态
224.0.0.100 01-00-5e-00-00-64 静态
224.0.0.251 01-00-5e-00-00-fb 静态
224.0.0.252 01-00-5e-00-00-fc 静态
238.238.238.238 01-00-5e-6e-ee-ee 静态
239.255.255.250 01-00-5e-7f-ff-fa 静态
255.255.255.255 ff-ff-ff-ff-ff-ff 静态
接口: 0.0.0.0 --- 0xffffffff
Internet 地址 物理地址 类型
224.0.0.22 01-00-5e-00-00-16 静态
224.0.0.100 01-00-5e-00-00-64 静态
238.238.238.238 01-00-5e-6e-ee-ee 静态
4.3 添加arp记录——arp -s
添加arp记录的命令语句语法为【arp -s inet_addr eth_addr】,其中inet_addr是IP地址,而eth_addr是MAC地址。
也就是说这个命令就是用来绑定IP地址和MAC地址的,可以用来避免用户乱改IP地址时不方便管理(而如果绑定了,即便改了IP地址,也可通过MAC地址找到用户),或者IP地址冲突。
4.4 删除arp记录——arp -d
如果执行命令【arp -d】,就会删除全部记录。
但若你没有禁止网络连接,网络数据交互过程中仍然会产生新的ARP列表。
如果执行命令【arp -d inet_addr】,就会删除指定IP地址的记录。
当你网络中出了问题,可能是IP地址冲突,mac地址和ip地址映射关系混乱。
那么你可以删除arp记录,然后重新添加新的记录,网络问题就会得到解决。
五、路由追踪命令——tracert
5.1 查看tracert命令的帮助信息
执行命令【tracert /?】,查看帮助信息。
C:\Users\Administrator>tracert /?
用法: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout]
[-R] [-S srcaddr] [-4] [-6] target_name
选项:
-d 不将地址解析成主机名。
-h maximum_hops 搜索目标的最大跃点数。
-j host-list 与主机列表一起的松散源路由(仅适用于 IPv4)。
-w timeout 等待每个回复的超时时间(以毫秒为单位)。
-R 跟踪往返行程路径(仅适用于 IPv6)。
-S srcaddr 要使用的源地址(仅适用于 IPv6)。
-4 强制使用 IPv4。
-6 强制使用 IPv6。
5.2 最基本的路由跟踪命令——tracert ip/域名
例如追踪百度服务器的IP地址,需要经过哪些网关IP呢?就需要用到tracert命令。注意如果不加参数-d,则会将地址解析为主机名,所以会很慢,加上后则不转化,速度就好快很多了。
在linux系统中,对应的命令是traceroute。
C:\Users\Administrator>tracert -d 220.181.38.251
通过最多 30 个跃点跟踪到 220.181.38.251 的路由
1 1 ms 1 ms 4 ms 172.17.64.1
2 2 ms 4 ms * 192.168.255.217
3 3 ms 3 ms 3 ms 119.39.176.173
4 3 ms 2 ms 5 ms 119.39.176.137
5 22 ms 21 ms 22 ms 119.39.176.229
6 * * * 请求超时。
7 29 ms 33 ms 28 ms 219.158.4.158
8 * * * 请求超时。
9 * * 31 ms 202.97.18.173
10 * * * 请求超时。
11 * * * 请求超时。
12 * * * 请求超时。
13 * * * 请求超时。
14 * * * 请求超时。
15 * * * 请求超时。
16 * * * 请求超时。
17 34 ms 40 ms 32 ms 220.181.38.251
跟踪完成。
5.3 设置最大跳点——tracert -h xxx target_name
如果你仅仅想要检测近端设备有没有问题,可以设置最大跳点,例如6。
5.4 设置最大等待时间——tracert -w xxx target_name
对于超过一定等待时间的路由项予以不显示,例如*号的项是没有意义的,所以完全没必要显示。
那么可以执行命令【tracert -w 5000 target_name】,就可以过滤掉那些无效项了。
六、ip地址配置命令——ipconfig
6.1 查看ipconfig的帮助信息——ipconfig /?
d:\BaiduNetdiskDownload>ipconfig /?
用法:
ipconfig [/allcompartments] [/? | /all |
/renew [adapter] | /release [adapter] |
/renew6 [adapter] | /release6 [adapter] |
/flushdns | /displaydns | /registerdns |
/showclassid adapter |
/setclassid adapter [classid] |
/showclassid6 adapter |
/setclassid6 adapter [classid] ]
其中
adapter 连接名称
(允许使用通配符 * 和 ?,参见示例)
选项:
/? 显示此帮助消息
/all 显示完整配置信息。
/release 释放指定适配器的 IPv4 地址。
/release6 释放指定适配器的 IPv6 地址。
/renew 更新指定适配器的 IPv4 地址。
/renew6 更新指定适配器的 IPv6 地址。
/flushdns 清除 DNS 解析程序缓存。
/registerdns 刷新所有 DHCP 租用并重新注册 DNS 名称
/displaydns 显示 DNS 解析程序缓存的内容。
/showclassid 显示适配器允许的所有 DHCP 类 ID。
/setclassid 修改 DHCP 类 ID。
/showclassid6 显示适配器允许的所有 IPv6 DHCP 类 ID。
/setclassid6 修改 IPv6 DHCP 类 ID。
默认情况下,仅显示绑定到 TCP/IP 的每个适配器的 IP 地址、子网掩码和
默认网关。
对于 Release 和 Renew,如果未指定适配器名称,则会释放或更新所有绑定
到 TCP/IP 的适配器的 IP 地址租用。
对于 Setclassid 和 Setclassid6,如果未指定 ClassId,则会删除 ClassId。
示例:
> ipconfig ... 显示信息
> ipconfig /all ... 显示详细信息
> ipconfig /renew ... 更新所有适配器
> ipconfig /renew EL* ... 更新所有名称以 EL 开头
的连接
> ipconfig /release *Con* ... 释放所有匹配的连接,
例如“有线以太网连接 1”或
“有线以太网连接 2”
> ipconfig /allcompartments ... 显示有关所有隔离舱的
信息
> ipconfig /allcompartments /all ... 显示有关所有隔离舱的
详细信息
d:\BaiduNetdiskDownload>
6.2 查看所有网络适配器的IP地址
6.2.1 查看简要版本的网卡信息——ipconfig
执行命令【ipconfig】后,发现只有一个网卡被打开(实际我电脑上有两个物理网卡),IP地址为192.168.2.177。
C:\Users\Administrator>ipconfig
Windows IP 配置
以太网适配器 以太网:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
无线局域网适配器 本地连接* 11:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
无线局域网适配器 本地连接* 14:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
无线局域网适配器 WLAN:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . : lan
无线局域网适配器 WLAN 2:
连接特定的 DNS 后缀 . . . . . . . : lan
本地链接 IPv6 地址. . . . . . . . : fe80::11e8:3fa6:964c:2e4%17
IPv4 地址 . . . . . . . . . . . . : 192.168.2.199
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.2.1
以太网适配器 蓝牙网络连接:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
6.2.2 查看详细版本的网卡信息——ipconfig /all
而如果我执行的是【ipconfig /all】,就会显示更加详细的信息(比如描述信息、物理地址、DHCP是否启用等)。
C:\Users\Administrator>ipconfig /all
Windows IP 配置
主机名 . . . . . . . . . . . . . : DESKTOP-PQ3T9SJ
主 DNS 后缀 . . . . . . . . . . . :
节点类型 . . . . . . . . . . . . : 混合
IP 路由已启用 . . . . . . . . . . : 否
WINS 代理已启用 . . . . . . . . . : 否
DNS 后缀搜索列表 . . . . . . . . : lan
以太网适配器 以太网:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Realtek PCIe GbE Family Controller
物理地址. . . . . . . . . . . . . : A8-5E-45-BF-62-4D
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
无线局域网适配器 本地连接* 11:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter #3
物理地址. . . . . . . . . . . . . : 92-76-9F-D9-38-1E
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
无线局域网适配器 本地连接* 14:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter #6
物理地址. . . . . . . . . . . . . : 90-76-9F-D9-38-1E
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
无线局域网适配器 WLAN:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . : lan
描述. . . . . . . . . . . . . . . : Intel(R) Wireless-AC 9462
物理地址. . . . . . . . . . . . . : 24-41-8C-3E-D0-82
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
无线局域网适配器 WLAN 2:
连接特定的 DNS 后缀 . . . . . . . : lan
描述. . . . . . . . . . . . . . . : Realtek 8188GU Wireless LAN 802.11n USB NIC
物理地址. . . . . . . . . . . . . : 90-76-9F-D9-38-1E
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
本地链接 IPv6 地址. . . . . . . . : fe80::11e8:3fa6:964c:2e4%17(首选)
IPv4 地址 . . . . . . . . . . . . : 192.168.2.199(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
获得租约的时间 . . . . . . . . . : 2022年7月9日 22:24:14
租约过期的时间 . . . . . . . . . : 2022年7月10日 22:24:14
默认网关. . . . . . . . . . . . . : 192.168.2.1
DHCP 服务器 . . . . . . . . . . . : 192.168.2.1
DHCPv6 IAID . . . . . . . . . . . : 227571359
DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-28-15-1E-64-A8-5E-45-BF-62-4D
DNS 服务器 . . . . . . . . . . . : 101.226.4.6
114.114.114.114
TCPIP 上的 NetBIOS . . . . . . . : 已启用
以太网适配器 蓝牙网络连接:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Bluetooth Device (Personal Area Network)
物理地址. . . . . . . . . . . . . : 24-41-8C-3E-D0-86
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
6.3 查看本地DNS缓存——ipconfig/displaydns
6.4 清除本地DNS缓存——ipconfig/flushdns
有时候电脑突然上不了网,或者存在某些网站打不开的情况,但别的网站又可以打开,解决办法需要清除DNS缓存,那么如何清除DNS缓存呢,最常用的方法就是使用清除DNS缓存命令来完成。
DNS缓存的意义就是给电脑一个域名到IP地址的短期记忆,这个短期记忆是有约定时间的,过了这个时间必须忘掉。那么如果服务器不按常理出牌,没过约定时间,就把自己的IP地址给换了。我们用自己缓存中的域名-IP映射关系就难以真正地访问到服务器,因此需要忘掉再重建DNS。
清理本地DNS的缓存命令是【ipconfig/flushdns】。
再执行命令【ipconfig/displaydns】 ,看看缓存还有不?竟然还有??
虽然减少了,但还是有缓存,我也不知道为啥,但是常规的一些http/ssl域名都已经被清除了,对于邮箱协议imap的域名还是没被清除(可能是我的网易邮箱助手还挂在后台,顽强地重建了DNS)。
6.5 释放和重新获取IP
6.5.1 释放IP地址——ipconfig /release
参数/release适用于IP地址是非静态分配的网卡。
参数/release通常和下文的renew参数结合使用。
执行命令【ipconfig /release】,就会释放网卡的当前IP地址。