什么是netstat?
成都創(chuàng)新互聯(lián)公司為客戶提供專業(yè)的成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項目涵蓋了網(wǎng)頁設(shè)計、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、
成都手機網(wǎng)站制作等網(wǎng)站方面業(yè)務(wù)。
如果你手頭有l(wèi)inux系統(tǒng),你直接輸入man netstat,就可以得到幫助信息。man對于netstat的解釋非常言簡意賅,只有一句簡短的描述:
“netstat – Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships”
中文意思是:netstat可以用來顯示網(wǎng)絡(luò)連接、路由表、接口統(tǒng)計、偽連接和組播成員。
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 [-cCeFghilMnNoprstuvVwx] [-A<網(wǎng)絡(luò)類型>][--ip]
【命令功能】
netstat用于顯示與IP、TCP、UDP和ICMP協(xié)議相關(guān)的統(tǒng)計數(shù)據(jù),一般用于檢驗本機各端口的連接情況。
【命令參數(shù)】
-a或-all 顯示所有連線中的socket
-A<網(wǎng)絡(luò)類型>或-<網(wǎng)絡(luò)類型> 列出該網(wǎng)絡(luò)類型連線中的相關(guān)地址。
-c或-continuous 持續(xù)列出網(wǎng)絡(luò)狀態(tài)。
-C或-cache 顯示路由器配置的快取信息。
-e或-extend 顯示網(wǎng)絡(luò)其它相關(guān)信息。
-F或-fib 顯示FIB。
-g或-groups 顯示多重廣播功能群組組員名單。
-h或-help 在線幫助。
-i或-interfaces 顯示網(wǎng)絡(luò)界面信息表單。
-l或-listening 顯示監(jiān)控中的服務(wù)器的socket。
-M或-masquerade 顯示偽裝的網(wǎng)絡(luò)連接。
-n或-numeric 直接使用IP地址,而不通過域名服務(wù)器。
-N或-netlink或-symbolic 顯示網(wǎng)絡(luò)硬件外圍設(shè)備的符號連接名稱。
-o或-timers 顯示計時器。
-p或-programs 顯示正在使用的socket的程序識別碼和程序名稱。
-r或-route 顯示Routing Table。
-s或-statistice 顯示網(wǎng)絡(luò)工作信息統(tǒng)計表。
-t或-tcp 顯示tcp傳輸協(xié)議的連接狀況。
-u或-udp 顯示udp傳輸協(xié)議的連接狀況。
-v或-verbose 顯示指令執(zhí)行過程。
-V或-version 顯示版本信息。
-w或-raw 顯示RAW傳輸協(xié)議的連接狀況。
-x或-unix 此參數(shù)的效果和指定的“-A unix”參數(shù)相同。
-ip或-inet 此參數(shù)的效果和指定“-A inet”參數(shù)相同。
【實例展示】
[root@node1 ~]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 52 node1.magedu.com:ssh 172.16.18.2:50297 ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 14 [ ] DGRAM 9828 /dev/log
unix 2 [ ] DGRAM 7786 @/org/kernel/udev/udevd
unix 2 [ ] DGRAM 10754 @/org/freedesktop/hal/udev_event
本選項從整體上看,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ài)說明:
LISTEN: 偵聽來自遠方的TCP端口的連接請求
SYN-SENT: 再發(fā)送連接請求后等待匹配的連接請求(如果有大量這樣的狀態(tài)包,檢查是否中招了)
SYN-RECEIVED: 再收到和發(fā)送一個連接請求后等待對方對連接請求的確認(如有大量此狀態(tài),估計被flood***了)
ESTABLISHED: 代表一個打開的連接
FIN-WAIT-1: 等待遠程TCP連接中斷請求,或先前的連接中斷請求的確認
FIN-WAIT-2: 從遠程TCP等待連接中斷請求
CLOSE-WAIT: 等待從本地用戶發(fā)來的連接中斷請求
CLOSING: 等待遠程TCP對連接中斷的確認
LAST-ACK: 等待原來的發(fā)向遠程TCP的連接中斷請求的確認(不是什么好東西,此項出現(xiàn),檢查是否被***)
TIME-WAIT: 等待足夠的時間以確保遠程TCP接收到連接中斷請求的確認
CLOSED: 沒有任何連接狀態(tài)
[root@node1 ~]# netstat -s
Ip:
125329 total packets received
14383 with invalid addresses
0 forwarded
0 incoming packets discarded
97126 incoming packets delivered
33554 requests sent out
10 dropped because of missing route
Icmp:
457 ICMP messages received
72 input ICMP message failed.
ICMP input histogram:
destination unreachable: 457
373 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 373
IcmpMsg:
InType3: 457
OutType3: 373
Tcp:
139 active connections openings
20 passive connection openings
31 failed connection attempts
23 connection resets received
1 connections established
91423 segments received
32616 segments send out
73 segments retransmited
0 bad segments received.
23 resets sent
Udp:
56 packets received
0 packets to unknown port received.
0 packet receive errors
492 packets sent
UdpLite:
TcpExt:
145 packets pruned from receive queue because of socket buffer overrun
8 ICMP packets dropped because they were out-of-window
3 TCP sockets finished time wait in fast timer
183 delayed acks sent
5 delayed acks further delayed because of locked socket
Quick ack mode was activated 8 times
28 packets directly queued to recvmsg prequeue.
4 packets directly received from prequeue
81707 packets header predicted
1925 acknowledgments not containing data received
708 predicted acknowledgments
TCPDSACKUndo: 10
1 congestion windows recovered after partial ack
0 TCP data loss events
1 retransmits in slow start
42 other TCP timeouts
17054 packets collapsed in receive queue due to low socket buffer
9 DSACKs sent for old packets
12 DSACKs received
1 connections reset due to unexpected data
19 connections reset due to early user close
3 connections aborted due to timeout
TCPSackShiftFallback: 1
TCPBacklogDrop: 16
IpExt:
InMcastPkts: 35
InBcastPkts: 5155
InOctets: 135205393
OutOctets: 2321147
InMcastOctets: 1120
InBcastOctets: 800085
本選項能夠按照各個協(xié)議分別顯示其統(tǒng)計數(shù)據(jù)。如果我們的應(yīng)用程序(如web瀏覽器)運行速度比較慢,或者不能顯示web頁之類的數(shù)據(jù),那么我們就可以用本選項來查看一下所顯示的信息。我們需要認真仔細查看統(tǒng)計數(shù)據(jù)的各行,找到出錯的關(guān)鍵字,進而確定問題所在。
[root@node1 ~]# netstat -e
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode
tcp 0 52 node1.magedu.com:ssh 172.16.18.2:50297 ESTABLISHED root 64806
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 14 [ ] DGRAM 9828 /dev/log
unix 2 [ ] DGRAM 7786 @/org/kernel/udev/udevd
unix 2 [ ] DGRAM 10754 @/org/freedesktop/hal/udev_event
unix 2 [ ] DGRAM 64850
unix 2 [ ] DGRAM 64713
unix 3 [ ] STREAM CONNECTED 57258 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 57257
unix 2 [ ] DGRAM 41768
unix 3 [ ] STREAM CONNECTED 11830 /var/run/dbus/system_bus_socket
本選項用于顯示關(guān)于以太網(wǎng)的統(tǒng)計數(shù)據(jù)。它列出來的項目包括傳送的數(shù)據(jù)包的總字節(jié)數(shù)、錯誤數(shù)、刪除數(shù)、數(shù)據(jù)包的數(shù)量和廣播的數(shù)量。這些統(tǒng)計數(shù)據(jù)既有發(fā)送的數(shù)據(jù)報數(shù)量,也有接收的數(shù)據(jù)報數(shù)量。這個選項可以用來統(tǒng)計一些基本的網(wǎng)絡(luò)流量。
[root@node1 ~]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
172.16.0.0 * 255.255.0.0 U 0 0 0 eth0
本選項可以顯示關(guān)于路由表的信息,類似于后面所講使用route print命令時看到的信息。除了顯示有效路由外,還顯示當(dāng)前有效的鏈接。
[root@node1 ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:56818 *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 localhost:smtp *:* LISTEN
tcp 0 0 localhost:x11-ssh-offset *:* LISTEN
tcp 0 0 node1.magedu.com:ssh 172.16.18.2:50297 ESTABLISHED
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:49906 *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 localhost:smtp *:* LISTEN
tcp 0 0 localhost:x11-ssh-offset *:* LISTEN
udp 0 0 *:sunrpc *:*
udp 0 0 *:ipp *:*
udp 0 0 *:con *:*
udp 0 1536 *:ntp *:*
udp 0 0 *:817 *:*
udp 0 0 *:50398 *:*
udp 0 0 *:sunrpc *:*
udp 0 0 *:con *:*
udp 0 0 *:ntp *:*
udp 0 0 *:33805 *:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 10732 @/var/run/hald/dbus-LUTxU382Gz
unix 2 [ ACC ] STREAM LISTENING 10727 @/var/run/hald/dbus-blwR0z9jUZ
unix 2 [ ACC ] STREAM LISTENING 10063 /var/run/rpcbind.sock
unix 2 [ ACC ] STREAM LISTENING 11336 public/cleanup
unix 2 [ ACC ] STREAM LISTENING 10163 /var/run/dbus/system_bus_socket
本選項顯示一個所有的有效連接信息列表,包含已建立的連接(ESTABLISHED),也包含監(jiān)聽連接請求的哪些連接(LISTENING)。
[root@node1 ~]# netstat -n
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 52 172.16.18.7:22 172.16.18.2:50297 ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 14 [ ] DGRAM 9828 /dev/log
unix 2 [ ] DGRAM 7786 @/org/kernel/udev/udevd
unix 2 [ ] DGRAM 10754 @/org/freedesktop/hal/udev_event
unix 2 [ ] DGRAM 64850
unix 2 [ ] DGRAM 64713
unix 3 [ ] STREAM CONNECTED 57258 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 57257
unix 2 [ ] DGRAM 41768
unix 3 [ ] STREAM CONNECTED 11830 /var/run/dbus/system_bus_socket
本選項是顯示所有已建立的有效連接。
找出程序運行的端口
[root@node1 ~]# netstat -ap | grep ssh
tcp 0 0 *:ssh *:* LISTEN 1688/sshd
tcp 0 0 localhost:x11-ssh-offset *:* LISTEN 20222/sshd
tcp 0 52 node1.magedu.com:ssh 172.16.18.2:50297 ESTABLISHED 20222/sshd
tcp 0 0 *:ssh *:* LISTEN 1688/sshd
tcp 0 0 localhost:x11-ssh-offset *:* LISTEN 20222/sshd
unix 2 [ ] DGRAM 64850 20222/sshd
查找運行在指定端口的進程
[root@node1 ~]# netstat -anpt | grep 80
tcp 0 0 :::80 :::* LISTEN 20841/httpd
更多的示例這里就不在一一舉出了,更多內(nèi)容將持續(xù)更新??!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
新聞名稱:工作之命令小總結(jié)(4):netstat命令-創(chuàng)新互聯(lián)
文章網(wǎng)址:
http://weahome.cn/article/ijjdg.html