良许Linux教程网 干货合集 Linux查看网络状态具体方法

Linux查看网络状态具体方法

Linux如何查看网络状态?当设备在机房或者设备在远端没有条件让眼睛亲临现场,只能通过终端的方式去查看网络状态,下面为大家分享一下Linux查看网络状态具体方法。

Linux查看网络状态具体方法

netstat 是网络状态查看命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接。netstat 命令的基本信息如下。

  • 命令名称:netstat。

  • 英文原意:Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships。

  • 所在路径:/bin/netstat.

  • 执行权限:所有用户。

  • 功能描述:输出网络连接、路由表、接口统计、伪装连接和组播成员。

命令格式如下:

[root@localhost ~]# netstat [选项]

选项:

  • -a:列出所有网络状态,包括 Socket 程序;

  • -c秒数:指定每隔几秒刷新一次网络状态;

  • -n:使用 IP 地址和端口号显示,不使用域名与服务名;

  • -p:显示 PID 和程序名;

  • -t:显示使用 TCP 协议端口的连接状况;

  • -u:显示使用 UDP 协议端口的连接状况;

  • -I:仅显示监听状态的连接;

  • -r:显示路由表;

【例 1】查看本机开启的端口。这是本机最常用的方式,使用选项”-tuln”。因为使用了”-I”选项,所以只能看到监听状态的连接,而不能看到已经连接状态的连接。例如:

[root@localhost ~]# netstat -tulnActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTENtcp 0 0:::11211 :::* LISTENtcp 0 0 :::80 :::* LISTENtcp 0  0 :::22 :::* LISTENudp 0  0 0.0.0.0:11211 0.0.0.0:*udp 0  0:::11211 :::*#协议接收队列发送队列本机的 IP 地址及端口号 远程主机的 IP 地址及端口号 状态

这个命令的输出较多。1) Proto:网络连接的协议,一般就是 TCP 协议或者 UDP 协议。2) Recv-Q:表示接收到的数据,已经在本地的缓冲中,但是还没有被进程取走。3) Send-Q:表示从本机发送,对方还没有收到的数据,依然在本地的缓冲中,不具备 ACK 标志的数据包。4) Local Address:本机的 IP 地址和端口号。5) ForeignAddress:远程主机的 IP 地址和端口号。6) State:状态。常见的状态主要有以下几种。

  • -LISTEN:监听状态,只有 TCP 协议需要监听,而 UDP 协议不需要监听。

  • -ESTABLISHED:已经建立连接的状态。如果使用”-I”选项,则看不到已经建立连接的状态。

  • -SYN_SENT:SYN 发起包,就是主动发起连接的数据包。

  • -SYN_RECV:接收到主动连接的数据包。

  • -FIN_WAIT1:正在中断的连接。

  • -FIN_WAIT2:已经中断的连接,但是正在等待对方主机进行确认。

  • -TIME_WAIT:连接已经中断,但是套接字依然在网络中等待结束。

  • -CLOSED:套接字没有被使用。

在这些状态中,我们最常用的就是 LISTEN 和 ESTABLISHED 状态,一种代表正在监听,另一种代表已经连接。

【例 2】查看本机有哪些程序开启的端口。如果使用”-p”选项,则可以查看到是哪个程序占用了端口,并且可以知道这个程序的 PID。例如:

[root@localhost ~]# netstat -tulnpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program nametcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2359/mysqldtcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 1563/memcachedtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1490/sshdtcp 0 0 :::11211 :::* LISTEN 1563/memcachedtcp 0 0 :::80 :::* LISTEN 21025/httpdtcp 0 0 :::22 :::*LISTEN 1490/sshdudp 0 0 0.0.0.0:11211 0.0.0.0:* 1563/memcachedudp 0 0:::11211 :::* 1563/memcached#比之前的命令多了一个”-p”选项,结果多了可以知道是哪个程序占用了端口

【例 3】 查看所有连接。使用选项”-an”可以查看所有连接,包括监听状态的连接(LISTEN)、已经建立连接状态的连接(ESTABLISHED)、Socke 程序连接等。因为连接较多,所以输出的内容有很多。例如:

[root@localhost ~]# netstat -anActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTENtcp 0 0 117.79.130.170:80 78.46.174.55:58815 SYN_RECVtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTENtcp 0 0 117.79.130.170:22 124.205.129.99:10379 ESTABLISHEDtcp 0 0 117.79.130.170:22 124.205.129.99:11811 ESTABLISHED…省略部分内容…udp 0 0 0.0.0.0:11211 0.0.0.0:*udp 0 0:::11211 :::*Active UNIX domain sockets (servers and established)Proto RefCnt Flags Type State I-Node Pathunix 2 [ACC] STREAM LISTENING 9761 @/var/run/hald/dbus-fr41WkQn1C…省略部分内容…

从”Active UNIX domain sockets”开始,之后的内容就是 Socke 程序产生的连接,之前的内容都是网络服务产生的连接。我们可以在”-an”选项的输出中看到各种网络连接状态,而之前的”-tuln”选项则只能看到监听状态。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部