您好,登錄后才能下訂單哦!
一.概述:
netstat命令用于顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用于檢驗本機各端口的網絡連接情況。netstat是在內核中訪問網絡及相關信息的程序,它能提供TCP連接,TCP和UDP監聽,進程內存管理的相關報告。
如果你的計算機有時候接收到的數據報導致出錯數據或故障,你不必感到奇怪,TCP/IP可以容許這些類型的錯誤,并能夠自動重發數據報。但如果累計的出錯情況數目占到所接收的IP數據報相當大的百分比,或者它的數目正迅速增加,那么你就應該使用netstat查一查為什么會出現這些情況了。
二.常見格式:
-a 顯示所有選項,默認不顯示LISTEN相關
-t 僅顯示tcp相關選項
-u 僅顯示udp相關選項
-n (numeric)拒絕顯示別名,能顯示數字的全部轉化成數字。
-l 僅列出有在 Listen (監聽) 的服務狀態
-p 顯示建立相關鏈接的程序名
-r 顯示路由信息,路由表
-e (extend)顯示擴展信息,例如uid等
-s (statistice)按各個協議進行統計
-c (continuous)每隔一個固定時間,執行該netstat命令。
三.使用實例:
列出所有端口 netstat -a
# netstat -a | more Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp localhost: *:* LISTEN udp *:bootpc *:* Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix [ ACC ] STREAM LISTENING /tmp/.X11-unix/X0 unix [ ACC ] STREAM LISTENING //run/acpid.socket
列出所有 tcp 端口 netstat -at
# netstat -at Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp localhost: *:* LISTEN tcp localhost:ipp *:* LISTEN tcp *:smtp *:* LISTEN tcp6 localhost:ipp [::]:* LISTEN
列出所有 udp 端口 netstat -au
# netstat -au Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State udp *:bootpc *:* udp *: *:* udp *:mdns *:*
只顯示監聽端口 netstat -l
# netstat -l Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp localhost:ipp *:* LISTEN tcp6 localhost:ipp [::]:* LISTEN udp *: *:*
只列出所有監聽 tcp 端口 netstat -lt
# netstat -lt Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp localhost: *:* LISTEN tcp *:smtp *:* LISTEN tcp6 localhost:ipp [::]:* LISTEN
只列出所有監聽 udp 端口 netstat -lu
# netstat -lu Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State udp *: *:* udp *:mdns *:*
只列出所有監聽 UNIX 端口 netstat -lx
# netstat -lx Active UNIX domain sockets (only servers) Proto RefCnt Flags Type State I-Node Path unix [ ACC ] STREAM LISTENING /maildrop unix [ ACC ] STREAM LISTENING /cleanup unix [ ACC ] STREAM LISTENING /ifmail unix [ ACC ] STREAM LISTENING /bsmtp
顯示所有端口的統計信息 netstat -s
# netstat -s Ip: total packets received with invalid addresses forwarded incoming packets discarded incoming packets delivered requests sent Icmp: ICMP messages received input ICMP message failed. Tcp: active connections openings failed connection attempts connection resets received Udp: packets received packets to unknown port received. .....
顯示 TCP 或 UDP 端口的統計信息 netstat -st 或 -su
# netstat -st # netstat -su
netstat -p 可以與其它開關一起使用,就可以添加 “PID/進程名稱” 到 netstat 輸出中,這樣 debugging 的時候可以很方便的發現特定端口運行的程序。
# netstat -pt Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp ramesh-laptop.loc: .:www CLOSE_WAIT /firefox tcp ramesh-laptop.loc: lax:www ESTABLISHED /firefox
當你不想讓主機,端口和用戶名顯示,使用 netstat -n。將會使用數字代替那些名稱。
同樣可以加速輸出,因為不用進行比對查詢。
# netstat -an
如果只是不想讓這三個名稱中的一個被顯示,使用以下命令
# netsat -a --numeric-ports # netsat -a --numeric-hosts # netsat -a --numeric-users
netstat 將每隔一秒輸出網絡信息。
# netstat -c Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp ramesh-laptop.loc: ---.ama:www ESTABLISHED tcp ramesh-laptop.loc: .:www CLOSING tcp ramesh-laptop.loc: server----:www ESTABLISHED tcp ramesh-laptop.loc: .:www CLOSING ^C
netstat --verbose
在輸出的末尾,會有如下的信息
netstat: no support `AF IPXnetstat: no support `AF AX25netstat: no support `AF X25netstat: no support `AF NETROM
# netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface . * . U eth3 link-local * . U eth3 . . UG eth3
注意: 使用 netstat -rn 顯示數字格式,不查詢主機名稱。
并不是所有的進程都能找到,沒有權限的會不顯示,使用 root 權限查看所有的信息。
# netstat -ap | grep ssh tcp dev-db:ssh .: CLOSE_WAIT - tcp dev-db:ssh .: CLOSE_WAIT -
找出運行在指定端口的進程
# netstat -an | grep ':80'
# netstat -i Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 BMU eth3 BMRU lo LRU
顯示詳細信息,像是 ifconfig 使用 netstat -ie:
# netstat -ie Kernel Interface table eth0 Link encap:Ethernet HWaddr ::::: UP BROADCAST MULTICAST MTU: Metric: RX packets: errors: dropped: overruns: frame: TX packets: errors: dropped: overruns: carrier: collisions: txqueuelen: RX bytes: ( B) TX bytes: ( B) Memory:f6ae0000-f6b00000
查看連接某服務端口最多的的IP地址
wss8848@ubuntu:~$ netstat -nat | grep |awk |awk -F: |sort|uniq -c|sort -nr|head - . . . . . . . . . .
TCP各種狀態列表
wss8848@ubuntu:~$ netstat -nat |awk established) Foreign LISTEN TIME_WAIT ESTABLISHED TIME_WAIT SYN_SENT
先把狀態全都取出來,然后使用uniq -c統計,之后再進行排序。
wss8848@ubuntu:~$ netstat -nat |awk |sort|uniq -c ESTABLISHED FIN_WAIT1 Foreign LAST_ACK LISTEN SYN_SENT TIME_WAIT established)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。