本文主要是介绍网络故障排查,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 抓包工具
- 设备是否有IP冲突
- 网络抓包排查
- 嵌入式linux网络故障处理的关注点
抓包工具
wireshark抓包工具是一款开源的网络协议分析软件。工能非常强大,对TCP、UDP进行抓包分析,是最适合的。
设备是否有IP冲突
做硬件设备开发经常会遇到各种各样的网络问题,其中IP冲突是最常见的。设备IP冲突,是指不同的设备,设置成了相同的IP地址。此时的现象是:
- ping路由器或外网,有时通有时不通。通的时候完全正常,不通的时候完全不通。
- 通几十秒,然后不通又几十秒,而且时长不固定,有时通得久一些,有时通了过一会儿就又不通了。
如何确诊是IP冲突:
- 换一个IP试试,换了IP之后,再ping原来的那个IP,如果有应答,就能确诊是IP冲突。
- 换了IP后,ping原来那个IP无应答,并不能确认不是IP冲突(因为arp表可能还没有更新)。
如保确诊不是IP冲突:
- 拔掉不正常那台机器的网线。
- 另一台同局域网的电脑清空arp表(windows指令为:
arp -d
)。 - ping那个IP,如果能通一定是IP冲突,不通还要进一步查。
- 查看电脑的arp列表(windows指令为:
arp -a
),看有没这那个IP的mac。 - 如果没有,就可以判断不是IP冲突。
网络抓包排查
软件开发,直接在电脑上抓包就可以。可做设备开发,又不能在设备上安装抓包工具,如何抓包分析呢。
**手机抓包:**将电脑的WIFI共享一个热点出来,让手机连这个热点,在电脑上抓包。
设备抓包:需要工具,买个抓包交换机,比如:TP-LINK的端口镜像交换机(TL-SF2005)。
说明:
- 普通的交换机或路由器,是不能对设备进行抓包的。因为网络连接后,数据不会发到所有端口,在抓包的那个端口就收不到数据。
- 有些路由器支持端口监控,可以用来对设备抓包,如:
嵌入式linux网络故障处理的关注点
- 先试一下能不能ping通外网域名,如:
ping www.baidu.com
。 - 如果能则正常,如果ping不通,看一下ping的域名是否能解析出来IP。
- 如果ping域名虽不能通但能出来IP,说明DNS解析是通的,是网络禁止ping。
- 如果是网络禁止ping,可用telnet试,如:
telnet www.baidu.com 80
。 - 如查ping域名,IP出不来,试一下直接ping外网IP,如:
ping 114.114.114.114
。 - 用telnet时,确认服务器是否支持那个端口。如:
telnet 114.114.114.114 80
是不通的。 - 如果外网IP能通,应该是DNS没设置对,查
/etc/resolv.conf
。 - 如果外网IP不通,试一下ping网关,如:
ping 192.168.1.1
。 - 如果网关能通,外网IP不通,可能是路由器、入户网线、网络是否欠费等原因。
- 如果网关能通,外网IP不通,还有可能是默认网关没设置对,
route -n
查看。 - 如果网关不通,很可能本机网络没设置对,
ifconfig
查是否为同个一网段,是否设置了IP。 - 如果网关不通,也可能是路由器没开或路由器的IP不对(ping的ip不是路由器的IP)。
- 如果
ifconfig
看不到网卡,试一下手动打开网卡,如:ifconfig eth0 up
。 - 如果
ping 127.0.0.1
不通,试一下:ifconfig lo up
。
说明:
- 以上这些网络知识要点,相信能应对绝大部分问题。如果对以上描述不明白原理,可以自行百度。
这篇关于网络故障排查的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!