巧用Netstat排除网络故障

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/70547772 巧用Netstat排除网络故障作者:chszs,未经博主允许不得转载。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/70547772

巧用Netstat排除网络故障

作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs

当在Linux服务器上遇到网络故障时,ping和traceroute是常用的两个命令,但是很多时候你需要了解更多的网络细节才有助于解决问题。要实现这一点,可以使用netstat命令,它可以提供网络套接字的详细信息以及其它有用的信息。与ping和traceroute命令一样,可以简单地在命令行使用netstat并立即获取结果。

一、什么是Netstat

netstat命令是处理网络问题的一个非常有用的工具。netstat是“Network Statistics”即网络统计的缩写,它可以显示传入和传出的网络连接,还可以用于获取网络统计信息、协议统计信息、路由表信息等。

我们可以使用netstat来查找网络问题并测量网络流量,因此可以用它收集网络的中断、降速或网络瓶颈。

二、基本的Netstat

要获取当前所有连接的一个列表,只需使用-a选项。

# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 *:1922                  *:*                     LISTEN     
tcp        0    216 chdc154:1922            223.99.111.233:11303    ESTABLISHED
tcp6       0      0 [::]:9000               [::]:*                  LISTEN     
tcp6       0      0 [::]:8009               [::]:*                  LISTEN     
tcp6       0      0 [::]:mysql              [::]:*                  LISTEN     
tcp6       0      0 [::]:1922               [::]:*                  LISTEN     
tcp6       0      0 [::]:9090               [::]:*                  LISTEN     
tcp6       0      0 localhost:8005          [::]:*                  LISTEN     
......

它提供了一些对于不同类型的协议(比如TCP和UDP)等的连接的基本信息,以及活跃的Unix域套接字信息。但是,natstat还允许用户获取更具体的信息,以便对调试更有帮助。

三、按连接类型过滤

基于连接类型对结果进行过滤有助于找到所需的信息。比如,你想查看TCP连接,那么可以在上面的-a选项后紧跟一个t选项,具体如下:

# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 *:1922                  *:*                     LISTEN     
tcp        0    216 chdc154:1922            223.99.111.233:11303    ESTABLISHED
tcp6       0      0 [::]:9000               [::]:*                  LISTEN     
tcp6       0      0 [::]:8009               [::]:*                  LISTEN   
......

相似的,如果在-a选项后紧跟u选项,则值列出UDP连接。

四、按监听连接进行过滤

如果想要查看正在监听的连接,那么可以使用-l选项(移除-a选项),比如:

# netstat -l
Active Internet connections (only servers)
......
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     47834116 /run/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     1661287  /run/user/0/systemd/private
unix  2      [ ACC ]     SEQPACKET  LISTENING     15450    /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     96528873 /run/snapd-snap.socket
unix  2      [ ACC ]     STREAM     LISTENING     10581    /var/lib/lxd/unix.socket
unix  2      [ ACC ]     STREAM     LISTENING     10578    /run/uuidd/request
unix  2      [ ACC ]     STREAM     LISTENING     10582    /run/acpid.socket
......

与-a选项相似,-l选项紧跟t选项,即-lt选项,表示查看正在监听的TCP连接;-lu表示查看正在监听的TCP连接。使用这种方式,可以轻松查看指定端口是否打开和监听,并确定网站应用或APP是否按预期方式运行。

五、查看网络统计信息

# netstat -s
Ip:
    1473970908 total packets received
    17795365 with invalid addresses
    0 forwarded
    0 incoming packets discarded
    1453512118 incoming packets delivered
    2392531460 requests sent out
    40 outgoing packets dropped
    3 fragments dropped after timeout
    48 reassemblies required
    15 packets reassembled ok
    3 packet reassembles failed
Icmp:
    3589646 ICMP messages received
    37 input ICMP message failed.
    ICMP input histogram:
        destination unreachable: 178
        timeout in transit: 18
        echo requests: 3589445
        echo replies: 5
......

如你所见,-s选项提供了一些在调试时可能有用的统计信息,例如总数,传入和传出数据包以及收到,发送和失败的ICMP消息。

目录
相关文章
|
28天前
|
监控 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 显示网络 连接、路由表和网络接口信息 netstat命令 使用指南
【Shell 命令集合 网络通讯 】Linux 显示网络 连接、路由表和网络接口信息 netstat命令 使用指南
54 1
|
4月前
|
监控 网络协议 Linux
linux(三十五)网络状态和端口监控 netstat
linux(三十五)网络状态和端口监控 netstat
35 1
|
11月前
|
网络协议 Unix Linux
如何在Linux中显示网络连接、路由表、接口统计等信息?Netstat了解一下!
如何在Linux中显示网络连接、路由表、接口统计等信息?Netstat了解一下!
223 0
|
缓存 自然语言处理 监控
Linux中的crontab 定时任务设置、Linux中top 实时监控系统进程状态Linux中的pstree 查看进程树、netstat 显示网络状态和端口占用信息
Linux中的crontab 定时任务设置、Linux中top 实时监控系统进程状态Linux中的pstree 查看进程树、netstat 显示网络状态和端口占用信息
Linux中的crontab 定时任务设置、Linux中top 实时监控系统进程状态Linux中的pstree 查看进程树、netstat 显示网络状态和端口占用信息
|
网络协议 Unix Linux
Linux网络管理之netstat命令– 显示网络状态
netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
122 0
Linux网络管理之netstat命令– 显示网络状态
|
自然语言处理 算法 Linux
Linux中的pstree 查看进程树、netstat 显示网络状态和端口占用信息、kill 终止进程、进程管理类、ps 查看当前系统进程状态、内存置换算法LRU、查看与sshd相关进程
这时候没有了sshd守护进程了,那么远程登录就都登录不上了,只有再把sshd守护进程开启才可以再次远程登录,如果没有开启sshd守护进程,把所有的root进程的远程登录关掉,那么只能用主机操作了。比如将sshd全部杀死,这样的话远程登录的全部停了,而且也不能再次远程登录了,只能在主机上打开sshd守护进程才可以,这个就不演示了。killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这 在系统因负载过大而变得很慢时很有用)linux常用命令下。linux常用命令中。linux常用命令上。.netstat –nlp | grep 端口号 (功能描述:查看网络端口号占用情况)ne
339 1
Linux中的pstree 查看进程树、netstat 显示网络状态和端口占用信息、kill 终止进程、进程管理类、ps 查看当前系统进程状态、内存置换算法LRU、查看与sshd相关进程
|
移动开发 网络协议 Linux
网络环境查看命令:ifconfig、ifup、ifdown、route、netstat、ss
一、ifconfig ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。 1. 安装 若系统默认没有ifconfig命令,则使用下面命令进行安装。
|
Prometheus JavaScript Cloud Native
netstat 查看 服务器网络连接
Netstat 和类似的一些网络监测工具被归入 net-tools 软件包 里,用来显示关于活动连接的信息。因为运行在开放的端口的服务往往容易被利用,定期进行网络监测能够帮助你及早探测到可疑的活动。
184 0
|
监控 网络协议 Unix
linux之netstat检查网络
netstat 用于显示网络状态。利用 netstat 命令可以得知系统的网络情况。
98 0
|
Java Linux Maven
LINUX03_磁盘情况查询、ps -ef、centos7查看服务、netstat查看网络、grep、重定向、管道、yum、用户权限(四)
LINUX03_磁盘情况查询、ps -ef、centos7查看服务、netstat查看网络、grep、重定向、管道、yum、用户权限(四)
189 0
LINUX03_磁盘情况查询、ps -ef、centos7查看服务、netstat查看网络、grep、重定向、管道、yum、用户权限(四)