Netstat 簡介
Netstat 簡介nNetstat 是一款命令行工具,可用于列出系統(tǒng)上所有的網(wǎng)絡(luò)套接字連接情況,包括 tcp, udp 以及 unix 套接字,另外它還能列出處于監(jiān)聽狀態(tài)(即等待接入請求)的套接字。
Netstat 簡介nNetstat 是一款命令行工具,可用于列出系統(tǒng)上所有的網(wǎng)絡(luò)套接字連接情況,包括 tcp, udp 以及 unix 套接字,另外它還能列出處于監(jiān)聽狀態(tài)(即等待接入請求)的套接字。如果你想 確認(rèn)系統(tǒng)上的 Web 服務(wù)有沒有起來, 你可以查看 80 端口有沒有打開。 以上功能使 netstat 成為網(wǎng)管和系統(tǒng)管理員的必備利器。在這篇教程中,我會列出幾個例子,教大家如何使用 netstat 去查找網(wǎng)絡(luò)連接信息和系統(tǒng)開啟的端口號。nn上述命令列出 tcp, udp 和 unix 協(xié)議下所有套接字的所有連接。 然而這些信息還丌夠詳細(xì), 管理員往往需要查看某個協(xié)議戒端口的具體連接情況。nn2. 只列出 TCP 或 UDP 協(xié)議的連接n使用 -t 選項列出 TCP 協(xié)議的連接:nn
使用 -u 選項列出 UDP 協(xié)議的連接:nn上面同時顯示了 IPv4 和 IPv6 的連接。nn3. 禁用反向域名解析,加快查詢速度n默認(rèn)情況下 netstat 會通過反向域名解析技術(shù)查找每個 IP 地址對應(yīng)的主機(jī)名。 這會降低查 找速度。如果你覺得 IP 地址已經(jīng)足夠,而沒有必要知道主機(jī)名,就使用 -n 選項禁用域名 解析功能。nn上述命令列出所有 TCP 協(xié)議的連接,沒有使用域名解析技術(shù)。So easy ? 非常好。nn4. 只列出監(jiān)聽中的連接nn
任何網(wǎng)絡(luò)服務(wù)的后臺進(jìn)程都會打開一個端口,用于監(jiān)聽接入的請求。這些正在監(jiān)聽的套接字也和連接的套接字一樣,也能被 netstat 列出來。使用 -l 選項列出正在監(jiān)聽的套接字。 現(xiàn)在我們可以看到處于監(jiān)聽狀態(tài)的 TCP 端口和連接。如果你查看所有監(jiān)聽端口,去掉 -t 選項。如果你只想查看 UDP 端口,使用 -u 選項,代替 -t 選項。 注意:不要使用 -a 選項,否則 netstat 會列出所有連接,而不僅僅是監(jiān)聽端口。 5. 獲取進(jìn)程名、進(jìn)程號以及用戶 ID
查看端口和連接的信息時,能查看到它們對應(yīng)的進(jìn)程名和進(jìn)程號對系統(tǒng)管理員來說是非常有幫助的。舉個栗子,Apache 的 httpd 服務(wù)開啟80端口,如果你要查看 http 服務(wù)是否已經(jīng)啟動,或者
apache 還是 nginx 啟動的,這時候你可以看看進(jìn)程名。 使用 -p 選項查看進(jìn)程信息。
使用 -p 選項時,netstat 必須運行在 root 權(quán)限之下,不然它就不能得到運行在 root 權(quán)限下的進(jìn)程名,而很多服務(wù)包括 http 和 ftp 都運行在 root 權(quán)限之下。
相比進(jìn)程名和進(jìn)程號而言,查看進(jìn)程的擁有者會更有用。使用 -ep 選項可以同時查看進(jìn)程名和用戶名。
,上面列出 TCP 協(xié)議下的監(jiān)聽套接字,同時顯示進(jìn)程信息和一些額外信息。 這些額外的信息包括用戶名和進(jìn)程的索引節(jié)點號。這個命令對網(wǎng)管來說很有用。 注意 - 假如你將 -n 和 -e 選項一起使用,User 列的屬性就是用戶的 ID 號,而不是用戶名。 6. 打印統(tǒng)計數(shù)據(jù)
netstat 可以打印出網(wǎng)絡(luò)統(tǒng)計數(shù)據(jù),包括某個協(xié)議下的收發(fā)包數(shù)量。
下面列出所有網(wǎng)絡(luò)包的統(tǒng)計情況:
如果想只打印出 TCP 或 UDP 協(xié)議的統(tǒng)計數(shù)據(jù),只要加上對應(yīng)的選項(-t 和 -u )即可,so easy。
,7. 顯示內(nèi)核路由信息n使用 -r 選項打印內(nèi)核路由信息。打印出來的信息不 route 命令輸出的信息一樣。我們也可 以使用 -n 選項禁止域名解析。nn8. 打印網(wǎng)絡(luò)接口nnetstat 也能打印網(wǎng)絡(luò)接口信息,-i 選項就是為這個功能而生。nn上面輸出的信息比較原始。我們將 -e 選項和 -i 選項搭配使用,可以輸出用戶友好的信息。nn上面的輸出信息不 ifconfig 輸出的信息一樣。nn9. netstat 持續(xù)輸出nn
我們可以使用 netstat 的 -c 選項持續(xù)輸出信息。nn這個命令可持續(xù)輸出 TCP 協(xié)議信息。nn10. 顯示多播組信息n選項 -g 會輸出 IPv4 和 IPv6 的多播組信息。nn更多用法n目前為止我們列出了 netstat 的基本用法,現(xiàn)在讓我們一起來 geek 吧~nn打印 active 狀態(tài)的連接nactive 狀態(tài)的套接字連接用 "ESTABLISHED" 字段表示,所以我們可以使用 grep 命令獲 得 active 狀態(tài)的連接:nn配合 watch 命令監(jiān)視 active 狀態(tài)的連接:nn
查看服務(wù)是否在運行
如果你想看看 http,smtp 或 ntp 服務(wù)是否在運行,使用 grep 。
從這里可以看到 ntp 服務(wù)正在運行。使用
grep
命令你可以查看 http 或 smtp 或其它任何你想查看的服務(wù)。
好了,netstat 的大部分功能都介紹過了,如果你想知道 netstat 更高級的功能,閱讀它的手冊吧(man netstat)。
歡迎在下面留下你的反饋和建議。