Netstat
命令用于顯示各種網(wǎng)絡(luò)相關(guān)信息煤篙,如網(wǎng)絡(luò)連接嘴瓤,路由表舷嗡,接口狀態(tài) (Interface Statistics)轴猎,masquerade 連接,多播成員 (Multicast Memberships) 等等进萄。
從整體上看捻脖,netstat的輸出結(jié)果可以分為兩個(gè)部分
一個(gè)是Active Internet connections
,稱為有源TCP連接中鼠,其中"Recv-Q"和"Send-Q"指的是接收隊(duì)列和發(fā)送隊(duì)列可婶。這些數(shù)字一般都應(yīng)該是0。如果不是則表示軟件包正在隊(duì)列中堆積援雇。這種情況只能在非常少的情況見到矛渴。
另一個(gè)是Active UNIX domain sockets
,稱為有源Unix域套接口(和網(wǎng)絡(luò)套接字一樣,但是只能用于本機(jī)通信具温,性能可以提高一倍)蚕涤。
Proto顯示連接使用的協(xié)議,RefCnt表示連接到本套接口上的進(jìn)程號(hào),Types顯示套接口的類型,State顯示套接口當(dāng)前的狀態(tài),Path表示連接到套接口的其它進(jìn)程使用的路徑名。
常見參數(shù)
-a (all)顯示所有選項(xiàng)铣猩,默認(rèn)不顯示LISTEN相關(guān)
-t (tcp)僅顯示tcp相關(guān)選項(xiàng)
-u (udp)僅顯示udp相關(guān)選項(xiàng)
-n 拒絕顯示別名揖铜,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字。
-l 僅列出有在 Listen (監(jiān)聽) 的服務(wù)狀態(tài)
-p 顯示建立相關(guān)鏈接的程序名
-r 顯示路由信息达皿,路由表
-e 顯示擴(kuò)展信息天吓,例如uid等
-s 按各個(gè)協(xié)議進(jìn)行統(tǒng)計(jì)
-c 每隔一個(gè)固定時(shí)間,執(zhí)行該netstat命令峦椰。
提示:LISTEN和LISTENING的狀態(tài)只有用-a或者-l才能看到
常用命令
# 列出所有端口
netstat -a | more
netstat -at
netstat -au
# 列出所有處于監(jiān)聽狀態(tài)的Sockets
netstat -l
netstat -lt
netstat -lu
netstat -lx
# 顯示每個(gè)協(xié)議的統(tǒng)計(jì)信息
netstat -s
netstat -su
netstat -st
# 顯示PID和進(jìn)程名稱
netstat -p
netstat -pt
# 不顯示主機(jī)龄寞,端口和用戶名 (host, port or user)
netstat -an
netsat -a --numeric-ports
netsat -a --numeric-hosts
netsat -a --numeric-users
# 持續(xù)輸出netstat信息
netstat -c
# 顯示系統(tǒng)不支持的地址族
netstat --verbose
# 顯示核心路由信息
netstat -r
# 找出程序的運(yùn)行端口
netstat -ap | grep ssh
netstat -an | grep ':80'
# 顯示網(wǎng)絡(luò)接口列表
netstat -i
netstat -ie
ifconfig
# ip和tcp分析