一、基本连通性检查
在网络中ping是一个十分强大的TCP/IP工具。它可以用来检测网络的连通情况和分析网络速度、也可以ping网址根据域名得到服务器IP、同时我们根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量。
ping 网址,有几种输出情况:
1、ping的结果有返回,域名有解析对应IP地址
2、ping的结果没有返回,但域名对应地址有解析到,这种情况一般是对端有禁ping
3、ping的结果啥都没有,说明域名不可解析,可按第6条进行nslookup检查。
4、对于网络能ping通的域名,重点关注是否有丢包,延迟大不大的情况。也可以通过ping不同大小的包,每次1000个来测试观察。
如果网页能打开,但很慢,主要存在两种可能:一种是Web和应用服务器响应缓慢;二是网络丢包严重。
先检查网络丢包可能,应做大包持续ping检查(前提是可ping通)
ping -l 1470 -t IP地址
一般而言,丢包率在1%以下,网页访问基本没感觉;丢包率在1%~5%,偶有延迟感觉;丢包率大于5%,网页打开明显困难;丢包率大于20%就基本无法打开页面了。
对于Web服务器方面的延迟,可安装httpwatch软件或用浏览器F12调试界面监视究竟是网页的哪个部分打开耗时过大,这只是从外部看的一个初步判断,具体问题还是需开发人员确定。
5、地址存活检查
某些主机可能是禁ping,又不知道打开了哪些端口,要判断该主机是否在线,可在同一局域网(指同一交换机下或VLAN下,且IP地址在同一网段)下别的主机上 ping 主机IP地址,然后30秒内执行 arp --a (先开cmd窗口),如果该主机在线,则能从arp解析表中看到该主机的MAC地址,否则是看不到或incomplete。(注意该检查只说明该主机IP地址)
二、端口连通性检查
如ping检查结果提示网络不通,因为有可能主机或防火墙禁ping,下一步需要检查TCP是否能连通;如果能ping通而网页打不开,则更要检查TCP连通性:
windows里先开个cmd窗口,然后键入(注意端口号前不要带冒号)
telnet IP地址 端口号
如果返回结果变成黑屏窗口或者有其他返回输出,则表示TCP能连通,否则则会是长时间等待然后显示超时。
Linux操作相同。如果连Web服务器的TCP端口(默认80端口)不通,也可连其它已知是开通的端口尝试。如果其它端口可连,Web服务端口不可连,表示可能Web服务未启动或故障。
三、网络路由检查
如果ping和TCP均不通,则要进行网络路由跟踪检查
先开个cmd窗口,然后键入tracert -d IP地址 ;Linux下使用traceroute命令
这样可以查看每网络中每跳的情况,将结果粘贴提供给专业网络管理人员会对查找故障很有帮助。
四、web页面返回检查
如果TCP通,而打开页面无显示,则可初步判断为Web服务器或其后面的应用服务器故障,提请相关软件维护人员查找。
如果在Windows 下,可装httpwatch软件或用浏览器F12调试界面进一步检查Web服务器的响应,也可下载windows版curl检查(https://curl.haxx.se/windows/)。
如果linux下,可以用curl --v URL 命令来检查,注意截图的时候把请求的IP地址、请求头、响应头都截上,类似这样:
五、域名无法解析排查
如果域名无法解析,可用nslookup进一步判断问题所在
先开个cmd窗口,然后键入
nslookup 域名
nslookup直接从域名服务器进行解析,不受本机操作系统的DNS缓存和IE浏览器内的DNS缓存影响,结果比较直接。