netstat 命令详解
Linux netstat命令用于显示网络状态。
利用netstat指令可让你得知整个Linux系统的网络情况。
语法:
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
参数说明:
-a 显示所有连线中的Socket
-A 列出网络类型连线中的相关地址
-c 持续列出网络状态
-C 显示路由器配置的快取信息
-e 显示网络其他相关信息
-g 显示多重群组名单
-l 显示监控中的服务器的socket
-n 直接使用ip 地址,不通过域名服务器
-N 显示网络硬件外围设备的符号链接名称
-p 显示正在使用Socket 的程序识别码和程序名称
-t 显示TCP 传输协议的连线状况
-u 显示UDP 传输协议的连线状况
-x --unix
下面是示例:
[root@ localhost ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[root@ localhost ~]# netstat -a #显示详细的网络状况
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:mysql *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 10.0.0.20:mysql 10.0.0.11:40011 ESTABLISHED
tcp 0 0 10.0.0.20:ssh 10.0.0.4:52746 ESTABLISHED
tcp 0 0 10.0.0.20:ssh 10.0.0.4:64066 ESTABLISHED
tcp 0 0 *:ssh *:*
...
[root@ localhost ~]# netstat -nu #显示当前户籍UDP连接状况
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
[root@ localhost ~]# netstat -i #显示网卡列表
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 21516 0 0 0 10046 0 0 0 BMRU
lo 65536 0 0 0 0 0 0 0 0 0 LRU
[root@ localhost ~]# netstat -g #显示组播组的关系
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
eth0 1 all-systems.mcast.net
lo 1 ff02::1
eth0 1 ff02::1:ff42:7715
[root@ localhost ~]# netstat -l #显示监听的套接口
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:mysql *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 8057 @/com/ubuntu/upstart
unix 2 [ ACC ] STREAM LISTENING 11879 /var/lib/mysql/mysql.sock