[轉(zhuǎn)載]netstat使用

轉(zhuǎn)載自
http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html
Linux netstat命令詳解
寫在最前面


同學(xué)們,mac的netstat和linux的是不一樣的啊
前言


netstat命令用于顯示與IP、TCP、UDP和ICMP協(xié)議相關(guān)的統(tǒng)計數(shù)據(jù),一般用于檢驗本機各端口的網(wǎng)絡(luò)連接情況。netstat是在內(nèi)核中訪問網(wǎng)絡(luò)及相關(guān)信息的程序,它能提供TCP連接,TCP和UDP監(jiān)聽,進程內(nèi)存管理的相關(guān)報告。

如果你的計算機有時候接收到的數(shù)據(jù)報導(dǎo)致出錯數(shù)據(jù)或故障,你不必感到奇怪,TCP/IP可以容許這些類型的錯誤,并能夠自動重發(fā)數(shù)據(jù)報。但如果累計的出錯情況數(shù)目占到所接收的IP數(shù)據(jù)報相當(dāng)大的百分比,或者它的數(shù)目正迅速增加,那么你就應(yīng)該使用netstat查一查為什么會出現(xiàn)這些情況了。

netstat命令可以顯示網(wǎng)絡(luò)接口的很多統(tǒng)計信息,包括打開的socket和路由表。無選項運行命令顯示打開的socket。

默認(rèn)

# netstat

我的mac上的輸出

Active Internet connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp4       0      0  alexs-mbp.51472        www.evernote.com.https ESTABLISHED
tcp4       0      0  alexs-mbp.51468        hkg12s09-in-f14..https ESTABLISHED
tcp4       0      0  alexs-mbp.49451        ec2-54-149-28-20.https ESTABLISHED
tcp4       0      0  alexs-mbp.49429        17.188.138.72.5223     ESTABLISHED
tcp4       0      0  alexs-mbp.49425        173.112.255.173..https ESTABLISHED
tcp4       0      0  alexs-mbp.49161        17.252.236.33.5223     ESTABLISHED
udp4       0      0  *.*                    *.*
udp4       0      0  *.*                    *.*
udp4       0      0  *.61469                *.*
udp4       0      0  *.*                    *.*
udp4       0      0  *.*                    *.*
udp4       0      0  *.*                    *.*
udp6       0      0  alexs-mbp.local.ntp    *.*
udp4       0      0  alexs-mbp.ntp          *.*

linux上的輸出

[root@localhost ~]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0    268 192.168.120.204:ssh         10.2.0.68:62420             ESTABLISHED 
udp        0      0 192.168.120.204:4371        10.58.119.119:domain        ESTABLISHED 
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ]         DGRAM                    1491   @/org/kernel/udev/udevd
unix  4      [ ]         DGRAM                    7337   /dev/log
unix  2      [ ]         DGRAM                    708823 
unix  2      [ ]         DGRAM                    7539   
unix  3      [ ]         STREAM     CONNECTED     7287   
unix  3      [ ]         STREAM     CONNECTED     7286   

從整體上看,netstat的輸出結(jié)果可以分為兩個部分:

一個是Active Internet connections,稱為有源TCP連接,其中"Recv-Q"和"Send-Q"指的是接收隊列和發(fā)送隊列。這些數(shù)字一般都應(yīng)該是0。如果不是則表示軟件包正在隊列中堆積。這種情況只能在非常少的情況見到。

另一個是Active UNIX domain sockets,稱為有源Unix域套接口(和網(wǎng)絡(luò)套接字一樣,但是只能用于本機通信,性能可以提高一倍)。

Proto顯示連接使用的協(xié)議,RefCnt表示連接到本套接口上的進程號,Types顯示套接口的類型,State顯示套接口當(dāng)前的狀態(tài),Path表示連接到套接口的其它進程使用的路徑名。

套接口類型:

  • -t TCP
  • -u UDP
  • -raw RAW類型
  • --unix UNIX域類型
  • --ax25 AX25類型
  • --ipx ipx類型
  • --netrom netrom類型
  • -a (all)顯示所有選項,默認(rèn)不顯示LISTEN相關(guān)
  • -n 拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字(比如默認(rèn)會把22顯示為ssh)
  • -l 僅列出有在 Listen (監(jiān)聽) 的服務(wù)狀態(tài)
  • -p 顯示建立相關(guān)鏈接的程序名
  • -r 顯示路由信息,路由表
  • -e 顯示擴展信息,例如uid等
  • -s 按各個協(xié)議進行統(tǒng)計
  • -c 每隔一個固定時間,執(zhí)行該netstat命令。

狀態(tài)說明:

  • LISTEN:偵聽來自遠(yuǎn)方的TCP端口的連接請求
  • SYN-SENT:再發(fā)送連接請求后等待匹配的連接請求(如果有大量這樣的狀態(tài)包,檢查是否中招了)
  • SYN-RECEIVED:再收到和發(fā)送一個連接請求后等待對方對連接請求的確認(rèn)(如有大量此狀態(tài),估計被flood攻擊了)
  • ESTABLISHED:代表一個打開的連接
  • FIN-WAIT-1:等待遠(yuǎn)程TCP連接中斷請求,或先前的連接中斷請求的確認(rèn)
  • FIN-WAIT-2:從遠(yuǎn)程TCP等待連接中斷請求
  • CLOSE-WAIT:等待從本地用戶發(fā)來的連接中斷請求
  • CLOSING:等待遠(yuǎn)程TCP對連接中斷的確認(rèn)
  • LAST-ACK:等待原來的發(fā)向遠(yuǎn)程TCP的連接中斷請求的確認(rèn)(不是什么好東西,此項出現(xiàn),檢查是否被攻擊)
  • TIME-WAIT:等待足夠的時間以確保遠(yuǎn)程TCP接收到連接中斷請求的確認(rèn)
  • CLOSED:沒有任何連接狀態(tài)

常用

  • 附加顯示LISTEN的鏈接
    # netstat -a
  • 顯示當(dāng)前UDP連接狀況
    # netstat -nu
  • 顯示UDP端口號的使用情況
    # netstat -apu
  • 查看10022端口使用情況 / 找出程序運行的端口
    netstat -nap | grep 10022
    netstat -ap | grep ssh(ssh做端口名)
  • 在 netstat 輸出中顯示 PID 和進程名稱
    netstat -p
  • 顯示網(wǎng)絡(luò)接口列表
    netstat -i
  • 顯示網(wǎng)絡(luò)統(tǒng)計信息
    # netstat -s
    按照各個協(xié)議分別顯示其統(tǒng)計數(shù)據(jù)。如果我們的應(yīng)用程序(如Web瀏覽器)運行速度比較慢,或者不能顯示W(wǎng)eb頁之類的數(shù)據(jù),那么我們就可以用本選項來查看一下所顯示的信息。我們需要仔細(xì)查看統(tǒng)計數(shù)據(jù)的各行,找到出錯的關(guān)鍵字,進而確定問題所在。
  • 日常查端口
    netstat -tulnp |grep ssh (ssh做程序名)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容