Linux的netstat命令詳解
Linux的netstat命令
1、TCP連接狀態詳解
- LISTEN: 偵聽來自遠方的TCP端口的連接請求
- SYN-SENT: 再發送連接請求後等待匹配的連接請求
- SYN-RECEIVED:再收到和發送一個連接請求後等待對方對連接請求的確認
- ESTABLISHED: 代表一個打開的連接
- FIN-WAIT-1: 等待遠程TCP連接中斷請求,或先前的連接中斷請求的確認
- FIN-WAIT-2: 從遠程TCP等待連接中斷請求
- CLOSE-WAIT: 等待從本地用戶發來的連接中斷請求
- CLOSING: 等待遠程TCP對連接中斷的確認
- LAST-ACK: 等待原來的發向遠程TCP的連接中斷請求的確認
- TIME-WAIT: 等待足夠的時間以確保遠程TCP接收到連接中斷請求的確認
- CLOSED: 沒有任何連接狀態
2、命令格式
netstat(選項)
3、命令選項
- -a或–all:顯示所有連線中的Socket;
- -A<網絡類型>或–<網絡類型>:列出該網絡類型連線中的相關地址;
- -c或–continuous:持續列出網絡狀態;
- -C或–cache:顯示路由器配置的快取信息;
- -e或–extend:顯示網絡其他相關信息;
- -F或–fib:顯示FIB;
- -g或–groups:顯示多重廣播功能群組組員名單;
- -h或–help:在線幫助;
- -i或–interfaces:顯示網絡界面信息表單;
- -l或–listening:顯示監控中的服務器的Socket;
- -M或–masquerade:顯示偽裝的網絡連線;
- -n或–numeric:直接使用ip地址,而不通過域名服務器;
- -N或–netlink或–symbolic:顯示網絡硬件外圍設備的符號連接名稱;
- -o或–timers:顯示計時器;
- -p或–programs:顯示正在使用Socket的程序識別碼和程序名稱;
- -r或–route:顯示Routing Table;
- -s或–statistice:顯示網絡工作信息統計表;
- -t或–tcp:顯示TCP傳輸協議的連線狀況;
- -u或–udp:顯示UDP傳輸協議的連線狀況;
- -v或–verbose:顯示指令執行過程;
- -V或–version:顯示版本信息;
- -w或–raw:顯示RAW傳輸協議的連線狀況;
- -x或–unix:此參數的效果和指定”-A unix”參數相同;
- –ip或–inet:此參數的效果和指定”-A inet”參數相同。
4、列出所有端口(包含TCP和UDP)
> netstat -a
4、列出所有TCP端口
> netstat -at
5、列出所有UDP端口
> netstat -au
6、列出所有處於監聽狀態的 Sockets
> netstat -l
7、隻列出所有監聽tcp端口
> netstat -lt
8、隻列出所有監聽udp端口
> netstat -lu
9、隻列出所有監聽UNIX端口
> netstat -lx
10顯示所有端口的統計信息
> netstat -s Ip: 1007495197 total packets received 0 forwarded 582 with unknown protocol 0 incoming packets discarded 1007422115 incoming packets delivered Icmp: 66583265 ICMP messages received 63899 input ICMP message failed. InCsumErrors: 384 ICMP input histogram: destination unreachable: 115410 timeout in transit: 12840 source quenches: 11 redirects: 563 echo requests: 66453453 echo replies: 152 timestamp request: 438 address mask request: 4 66987000 ICMP messages sent 0 ICMP messages failed ICMP output histogram: destination unreachable: 533106 echo request: 4 echo replies: 66453453 timestamp replies: 437 IcmpMsg: InType0: 152 InType3: 115410 InType4: 11 InType5: 563 IpExt: InNoRoutes: 15 InMcastPkts: 1291307 InOctets: 211446050816 OutOctets: 481070069194
11、顯示TCP端口的統計信息
> netstat -st IcmpMsg: InType0: 152 InType3: 115410 InType4: 11 InType5: 563 InType8: 66453492 Tcp: 55437641 active connections openings 35899081 passive connection openings 552243 failed connection attempts 753118 connection resets received 7 connections established UdpLite: TcpExt: 162052 SYN cookies sent 621 SYN cookies received 4998179 invalid SYN cookies received 551915 resets received for embryonic SYN_RECV sockets IpExt: InNoRoutes: 15 InMcastPkts: 1291308 InOctets: 211446303015 OutOctets: 481070459735 InMcastOctets: 46487088
12、顯示UDP端口的統計信息
> netstat -su IcmpMsg: InType0: 152 InType3: 115410 InType4: 11 InType5: 563 InType8: 66453594 InType11: 12840 InType13: 438 InType17: 4 InType37: 3 InType165: 7 OutType0: 66453594 OutType3: 533106 OutType8: 4 OutType14: 437 Udp: 17941589 packets received 637146 packets to unknown port received. 1649 packet receive errors 17977050 packets sent 0 receive buffer errors 0 send buffer errors InCsumErrors: 1640 UdpLite: IpExt: InNoRoutes: 15 InMcastPkts: 1291310 InOctets: 211446802283 OutOctets: 481071405083 InMcastOctets: 46487160 InNoECTPkts: 1009629627 InECT1Pkts: 9955 InECT0Pkts: 1987096 InCEPkts: 94039
13、在netstat輸出中顯示 PID 和進程名稱
> netstat -pt
14、在netstat輸出中不顯示主機,端口和用戶名(host, port or user)
> netstat -an
15、持續輸出netstat信息
每隔一秒輸出網絡信息
> netstat -c
16、顯示核心路由信息
> netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default gateway 0.0.0.0 UG 0 0 0 eth0 link-local 0.0.0.0 255.255.0.0 U 0 0 0 eth0 172.16.0.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
17、使用netstat -rn顯示數字格式,不查詢主機名稱。
> netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 172.16.0.1 0.0.0.0 UG 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 172.16.0.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
18、找出程序運行的端口
> netstat -tunlp | grep ssh tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 4400/sshd
19、找出運行在指定端口的進程
> netstat -an | grep ":80" tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 172.16.0.9:80 185.191.171.12:9380 TIME_WAIT tcp 0 0 172.16.0.9:80 185.191.171.26:52418 TIME_WAIT tcp 0 3450 172.16.0.9:80 185.191.171.37:25108 FIN_WAIT1 tcp 0 0 172.16.0.9:80 185.191.171.37:55096 TIME_WAIT tcp 0 0 172.16.0.9:80 144.76.176.171:27832 TIME_WAIT tcp 0 0 172.16.0.9:80 118.126.124.7:11127 TIME_WAIT tcp 0 0 172.16.0.9:46628 169.254.0.55:8080 TIME_WAIT tcp 0 0 172.16.0.9:80 144.76.176.171:23812 ESTABLISHED
20、通過端口找進程ID
> netstat -tunlp | grep 80 | awk '{print $7}' | cut -d/ -f1 21323
21、顯示網絡接口列表
> netstat -i Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg docker0 1500 0 0 0 0 0 0 0 0 BMU eth0 1450 462305568 0 0 0 276046945 0 0 0 BMRU lo 65536 7204971 0 0 0 7204971 0 0 0 LRU vpn_abi 1500 229612389 0 1023383 0 146640133 0 956 0 BMRU
22、統計TCP各種狀態列表
> netstat -n | awk '/^tcp/{++S[$NF]}END{for(i in S) print i,S[i]}' ESTABLISHED 7 FIN_WAIT2 13 TIME_WAIT 18
以上就是Linux的netstat命令詳解的詳細內容,更多關於Linux netstat命令的資料請關註WalkonNet其它相關文章!希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Linux網絡設置詳情
- Shell常用服務器日志分析命令總結
- 詳解Linux使用ss命令結合zabbix對socket做監控
- vmware虛擬機安裝deepin20最全詳細過程
- linux配置主機名詳細介紹