netstat 查看鏈接和端口監(jiān)聽等信息
參數(shù)介紹:
-n :不顯示別名(主機(jī)名/域名以 數(shù)字或IP顯示)
-e :顯示其他/更多信息
-p :顯示進(jìn)程PID/進(jìn)程名
-c :持續(xù)輸出(設(shè)置后會(huì)每隔 1秒輸出一次未桥,Ctrl+C 終止)
-l :顯示正在監(jiān)聽的套接字
-a :顯示全部信息
# 下面這些就不很常用了聪舒。
-r :顯示路由表
-i :顯示網(wǎng)絡(luò)接口(網(wǎng)卡)
-g :顯示多播組信息
-s :顯示網(wǎng)絡(luò)統(tǒng)計(jì)
-M :顯示偽裝連接
-v :顯示正在進(jìn)行的工作
# 更多的命令可以用 netstat --help 來查看扶叉。
使用示例:
# 顯示當(dāng)前服務(wù)器的所有連接信息
netstat -a
# 顯示當(dāng)前服務(wù)器的所有 TCP連接信息
netstat -at
# 顯示當(dāng)前服務(wù)器的所有 UDP連接信息
netstat -au
# 顯示當(dāng)前服務(wù)器的所有 端口監(jiān)聽信息
netstat -lnp
# 顯示當(dāng)前服務(wù)器的所有 TDP端口監(jiān)聽信息
netstat -lntp
一般來說經(jīng)常使用這個(gè)命令:
# 顯示當(dāng)前服務(wù)器的所有正在監(jiān)聽 TCP端口的信息,并且 顯示進(jìn)程PID和進(jìn)程名勇哗,但不顯示別名(域名以IP顯示)杠茬,這個(gè)命令算是最常用的了琳拨。
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端口的進(jìn)程PID和進(jìn)程名瞭恰,grep是匹配并顯示 符合關(guān)鍵詞的行。
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是匹配并顯示 符合關(guān)鍵詞的行惊畏。
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 : 接收隊(duì)列(基本都是0,如果不是代表堆積)
Send-Q :發(fā)送隊(duì)列(基本都是0颜启,如果不是代表堆積)
Local Address :本地地址和端口
Foreign Address :對(duì)外地址和端口
State :連接狀態(tài)
PID/Program name :進(jìn)程PID/進(jìn)程名
# 每隔 1秒顯示一次當(dāng)前服務(wù)器的所有連接信息
netstat -c
# 每隔 1秒顯示一次當(dāng)前服務(wù)器的所有 TCP連接信息
netstat -ct
# 每隔 1秒顯示一次當(dāng)前服務(wù)器的所有 UDP連接信息
netstat -cu
# 顯示當(dāng)前服務(wù)器的路由表
netstat -r
# 顯示當(dāng)前服務(wù)器的網(wǎng)絡(luò)接口信息(網(wǎng)卡)
netstat -i
# 顯示當(dāng)前服務(wù)器的網(wǎng)絡(luò)統(tǒng)計(jì)信息
netstat -s
# 更多的命令可以用 netstat --help 來查看偷俭。
在使用 netstat命令中,會(huì)顯示一些連接狀態(tài)农曲,下面是各狀態(tài)的意思:
LISTEN
# 監(jiān)聽來自遠(yuǎn)程連接的 TCP端口連接請(qǐng)求
SYN-SENT
# 在發(fā)送連接請(qǐng)求后社搅,等待匹配的連接請(qǐng)求
SYN-RECEIVED
# 在收到和發(fā)送一個(gè)連接請(qǐng)求后驻债,等待對(duì)方對(duì)連接請(qǐng)求的確認(rèn)
ESTABLISHED
# 代表一個(gè)打開的連接
FIN-WAIT-1
# 等待遠(yuǎn)程 TCP連接中斷請(qǐng)求乳规,或先前的連接中斷請(qǐng)求的確認(rèn)
FIN-WAIT-2
# 從遠(yuǎn)程 TCP等待連接中斷請(qǐng)求
CLOSE-WAIT
# 等待從本地用戶發(fā)來的連接中斷請(qǐng)求
CLOSING
# 等待遠(yuǎn)程TCP對(duì)連接中斷的確認(rèn)
LAST-ACK
# 等待原來的發(fā)向遠(yuǎn)程TCP的連接中斷請(qǐng)求的確認(rèn)
TIME-WAIT
# 等待足夠的時(shí)間,以確保遠(yuǎn)程TCP接收到連接中斷請(qǐng)求的確認(rèn)
CLOSED
# 沒有任何連接狀態(tài)(或者關(guān)閉了連接)