https://stjy.yuque.com/jkpt/inside/db_analyze
天道酬勤,知足常乐
网络异常排查
关键字:网络排查
PING(优先)(判断网络是否正常)
命令
ping IP/域名
示例
观察响应是否正常,再判断时间是否过久,正常100ms内,超过250ms会出现不稳定,超过300ms算不正常,需要从网络,运营商,路由等各方面进行排查.
判断端口是否正常
同时需要确认目标主机是否开放ping命令,如果目标主机禁止了ping,则通过tracert 判断数据包是否到达或通过telnet 观察目标端口是否可到达.
如果是ping域名不通,需要检测域名解析是否正常(获取域名实际IP后进行ping测试)
TELNET(判断目标程序是否可以访问)
命令
telnet IP/域名 端口
示例
端口异常
端口正常
端口不正常需要通过多种方式判断,优先判断目标服务主机本地是否可以TELNET或访问到服务,再依次判断内网,路由,外网(如果是云主机,需要判断安全组是否有设置)
主机正常,内网不正常,检查防火墙
主机正常,内网不正常,且存在多路由,原路由检查后,再检查延伸路由
主机正常,内网正常,外网不正常,检查外网映射;检查安全组.
补充:需要注意程序或服务是否允许外网访问,很多程序,默认是只允许本地访问,这样即使telnet通,程序也无法使用.
NSLOOKUP(判断域名解析是否正常)
命令
nslookup 域名
示例
正常解析
解析异常
说明
只有在ping通IP的前提下,判断域名解析才有意义.
IP正常,域名不通常见处理
通过nslookup命令判断域名解析是否正常
直接写死host文件
C:\Windows\System32\drivers\etc\hosts
注:不推荐,避免后续IP切换导致潜在异常. 需要确认好目标服务器IP是否为动态.
尝试刷新DNS
需要跟域名管理人确认好是否已设置解析
修改DNS
114.114.114.114
223.5.5.5
223.6.6.6
TRACERT(判断数据包到目标网络哪个线路异常)
命令
tracert IP/域名
示例
本机->内网->运营商->目标运营商->目标机房->目标内网->目标服务器
观察每次跳跃点,通过分析跳跃点,排查数据包在哪个阶段的路由跳转异常,根据实际情况处理.
http://jingyan.baidu.com/article/925f8cb81e3a52c0dde05616.html
filddler抓包可以解决http 和 https的数据。Wireshark 设置相对繁琐。
需要注意:https情况下,数据预览是需要点击解密操作才可进行查看。
提供chrome一个插件”EditThisCookie” 可以直接将cookie设置到指定的域名中,方便一类,登录后,直接进行页面访问的操作,相对php模拟要方便些。
提供一个cookie串转json格式的脚本:
$cookie = 'xxx=xxx;xxx=xx;'; $cookies = preg_split ( '/\;\ /', $cookie ); $json_cookie = array (); foreach ( $cookies as $_cookie ) { $_cookie = explode ( '=', $_cookie ); $json_cookie [] = array ( 'domain' => 'xxxx.com', 'expirationDate' => '1518752038', 'hostOnly' => false, 'httpOnly' => false, 'path' => '/', 'secure' => false, 'session' => false, 'storeId' => '0', 'session' => 'false', 'name' => $_cookie [0], 'value' => $_cookie [1] ); } echo json_encode ( $json_cookie ); exit ();