netstat -lnp 查看監聽端口
[root@evan-01 ~]# netstat -lnp
上面一部分是 tcp/ip ,下面一部分是監聽的 socket(unix開頭的行)。netstat 命令用來打印網絡連接狀況、系統所開放端口、路由表等信息。最常用的兩種方法是 netstat -lnp (打印當前系統啓動哪些端口)和 netstat -an(打印網絡連接狀況),他們非常有用,一定要記住。
netstat -an 查看系統的網絡連接狀況
[root@evan-01 ~]# netstat -an
netstat -ltnp 只看 tcp 的不包含 socket
[root@evan-01 ~]# netstat -ltnp
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:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1121/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1228/master
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::22 :::* LISTEN 1121/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1228/master
[root@evan-01 ~]#
netstat -ltunp 只看 tcp udp的不包含 socket
[root@evan-01 ~]# netstat -ltunp
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:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1121/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1228/master
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::22 :::* LISTEN 1121/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1228/master
udp 0 0 0.0.0.0:924 0.0.0.0:* 754/rpcbind
udp 0 0 0.0.0.0:111 0.0.0.0:* 1/systemd
udp 0 0 127.0.0.1:323 0.0.0.0:* 769/chronyd
udp6 0 0 :::924 :::* 754/rpcbind
udp6 0 0 :::111 :::* 1/systemd
udp6 0 0 ::1:323 :::* 769/chronyd
[root@evan-01 ~]#
stat 是網絡連接的狀態,如果你對 TCP 的三次握手比較熟悉,那麼應該對這一列的字符串不陌生。如果你管理一臺提供 web 服務(80端口)的服務器,那麼就可以使用命令 netstat -an |grep 80來查看當前連接 web 服務的有哪些 ip 了
ss -an 和 netstat 異曲同工
[root@evan-01 ~]# ss -an
分享一個小技巧
查看所有狀態數
[root@evan-01 ~]# netstat -an |awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'
LISTEN 6
ESTABLISHED 1
[root@evan-01 ~]#
ESTABLISHED 1 併發數