netstat 查看鏈接和端口監(jiān)聽等信息
參數介紹:
-n :不顯示別名(主機名/域名以 數字或IP顯示)
-e :顯示其他/更多信息
-p :顯示進程PID/進程名
-c :持續(xù)輸出(設置后會每隔 1秒輸出一次,Ctrl+C 終止)
-l :顯示正在監(jiān)聽的套接字
-a :顯示全部信息
# 下面這些就不很常用了。
-r :顯示路由表
-i :顯示網絡接口(網卡)
-g :顯示多播組信息
-s :顯示網絡統(tǒng)計
-M :顯示偽裝連接
-v :顯示正在進行的工作
# 更多的命令可以用 netstat --help 來查看。
使用示例:
# 顯示當前服務器的所有連接信息
netstat -a
# 顯示當前服務器的所有 TCP連接信息
netstat -at
# 顯示當前服務器的所有 UDP連接信息
netstat -au
# 顯示當前服務器的所有 端口監(jiān)聽信息
netstat -lnp
# 顯示當前服務器的所有 TDP端口監(jiān)聽信息
netstat -lntp
一般來說經常使用這個命令:
# 顯示當前服務器的所有正在監(jiān)聽 TCP端口的信息,并且 顯示進程PID和進程名,但不顯示別名(域名以IP顯示),這個命令算是最常用的了。
netstat -lntp
# 輸出示例
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? ? ? 14233/nginx.conf
tcp? ? ? ? 0? ? ? 0 0.0.0.0:22? ? ? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? LISTEN? ? ? 1555/sshd? ? ?
tcp? ? ? ? 0? ? ? 0 0.0.0.0:443? ? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? LISTEN? ? ? 14233/nginx.conf
tcp6? ? ? 0? ? ? 0 :::22? ? ? ? ? ? ? ? ? :::*? ? ? ? ? ? ? ? ? ? LISTEN? ? ? 1555/sshd
—————————————————————————————————————
# 顯示監(jiān)聽 80端口的進程PID和進程名,grep是匹配并顯示 符合關鍵詞的行。
netstat -lntp|grep ":80"
# 輸出示例
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? ? ? 14233/nginx.conf
—————————————————————————————————————
# 顯示 ssh的監(jiān)聽情況,grep是匹配并顯示 符合關鍵詞的行。
netstat -lntp|grep "ssh"
# 輸出示例
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:22? ? ? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? LISTEN? ? ? 1555/sshd
表頭解釋:
Proto :連接協(xié)議(tcp/udp是IPv4,tcp6/udp6是IPv6)
Recv-Q : 接收隊列(基本都是0,如果不是代表堆積)
Send-Q :發(fā)送隊列(基本都是0,如果不是代表堆積)
Local Address :本地地址和端口
Foreign Address :對外地址和端口
State :連接狀態(tài)
PID/Program name :進程PID/進程名
# 每隔 1秒顯示一次當前服務器的所有連接信息
netstat -c
# 每隔 1秒顯示一次當前服務器的所有 TCP連接信息
netstat -ct
# 每隔 1秒顯示一次當前服務器的所有 UDP連接信息
netstat -cu
# 顯示當前服務器的路由表
netstat -r
# 顯示當前服務器的網絡接口信息(網卡)
netstat -i
# 顯示當前服務器的網絡統(tǒng)計信息
netstat -s
# 更多的命令可以用 netstat --help 來查看。
在使用 netstat命令中,會顯示一些連接狀態(tài),下面是各狀態(tài)的意思:
LISTEN
# 監(jiān)聽來自遠程連接的 TCP端口連接請求
SYN-SENT
# 在發(fā)送連接請求后,等待匹配的連接請求
SYN-RECEIVED
# 在收到和發(fā)送一個連接請求后,等待對方對連接請求的確認
ESTABLISHED
# 代表一個打開的連接
FIN-WAIT-1
# 等待遠程 TCP連接中斷請求,或先前的連接中斷請求的確認
FIN-WAIT-2
# 從遠程 TCP等待連接中斷請求
CLOSE-WAIT
# 等待從本地用戶發(fā)來的連接中斷請求
CLOSING
# 等待遠程TCP對連接中斷的確認
LAST-ACK
# 等待原來的發(fā)向遠程TCP的連接中斷請求的確認
TIME-WAIT
# 等待足夠的時間,以確保遠程TCP接收到連接中斷請求的確認
CLOSED
# 沒有任何連接狀態(tài)(或者關閉了連接)