加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux发生网络故障情况怎么办?如何做排查?

发布时间:2023-04-11 14:46:01 所属栏目:Linux 来源:
导读:今天给大家分享linux出现网络故障如何排查的方法,掌握排查linux出现网络故障的技巧还是很有必要的,下文介绍的方法也比较容易理解,感兴趣的朋友就继续往下看吧。

ping

首先来看ping命令,这个命令是
今天给大家分享linux出现网络故障如何排查的方法,掌握排查linux出现网络故障的技巧还是很有必要的,下文介绍的方法也比较容易理解,感兴趣的朋友就继续往下看吧。

    ping
 
    首先来看ping命令,这个命令是用来测试两台主机之间能否进行正常通讯的工具。ping的对象既可以是ip地址,也可以是域名。该命令在linux以及windows的cmd模式下都可以使用。使用方法都是一样的。
 
# ping -c 4 8.210.247.5
 
PING 8.210.247.5 (8.210.247.5) 56(84) bytes of data.
 
64 bytes from 8.210.247.5: icmp_seq=1 ttl=64 time=1.54 ms
 
64 bytes from 8.210.247.5: icmp_seq=2 ttl=64 time=1.48 ms
 
64 bytes from 8.210.247.5: icmp_seq=3 ttl=64 time=1.46 ms
 
64 bytes from 8.210.247.5: icmp_seq=4 ttl=64 time=1.48 ms
 
--- 8.210.247.5 ping statistics ---
 
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
 
rtt min/avg/max/mdev = 1.460/1.494/1.548/0.042 ms

# ping -c 1 baidu.com
 
……
 
    下面,是一个shell脚本,用来查看局域网有哪些ip可以进行通讯
 
#!/bin/bash
 
net='192.168.2.'
 
seqs=`seq 1 254`
 
for seq in $seqs
 
do
 
    ip=$net$seq
 
    /usr/bin/ping -c 1 -W 1 $ip >/dev/null 2>&1

    if [ "$?" == "0" ];then
 
        echo "$ip is UP"
 
    fi
 
done
 
    traceroute
 
    该命令是用来查看两台主机之间的各个节点的网络情况。如果当你访问一个网站的时候,速度较慢,那么可以用该命令来查看所有节点的网络情况。
 
# traceroute -n google.com
 
traceroute to google.com (172.217.163.238), 30 hops max, 60 byte packets
 
 1  * * *
 
 2  11.109.220.61  1.444 ms  1.577 ms 11.109.216.189  1.500 ms
 
 3  11.109.220.190  5.512 ms * 11.109.220.174  5.382 ms
 
 4  11.131.180.222  1.660 ms 11.131.180.218  1.519 ms 11.131.180.250  1.365 ms
 
 ……
 
    nslookup
 
    该命令是可以通过域名来反查ip地址的,使用非常简单。
 
nslookup 5iqm.com
 
Server:  100.100.2.136
 
Address: 100.100.2.136#53
 
Non-authoritative answer:
 
Name: 5iqm.com
 
Address: 121.196.12.64
 
    netstat
 
    如果网站访问不了,我们首先做的应该是ping服务器的ip地址,如果能够正常ping通,接下来应该ping网站域名,看dns是否正常解析。如果都没有问题,网站还是访问不了,那就需要去看看80端口是否对外开放了。netstat命令就是用来查看主机端口监听情况。
 
# netstat -tlunp
 
Active Internet connections (only servers)
 
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
 
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      30721/nginx: master
 
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1275/pure-ftpd (SER
 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1167/sshd           
 
tcp        0      0 0.0.0.0:888             0.0.0.0:*               LISTEN      30721/nginx: master
 
tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      2068/python
 
    telnet
 
    该命令可以用来测试服务器的指定端口是否对自己开放。
 
# telnet 8.210.110.139 22
 
Trying 8.210.110.139...
 
Connected to 8.210.110.139.   
 
Escape character is '^]'.
 
SSH-2.0-OpenSSH_7.4
 
# telnet 8.210.110.139 3306
 
Trying 8.210.110.139...  <=== 一直是这样的状态则
 
    如果是上述的第一种情况,则说明8.210.110.139的22端口是开放的。如果是第二种的话,一直在trying,则说明此端口没有对自己开放。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!