日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

【Linux】一步一步学Linux——netstat命令(166)

發布時間:2024/4/21 linux 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Linux】一步一步学Linux——netstat命令(166) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

00. 目錄

文章目錄

    • 00. 目錄
    • 01. 命令概述
    • 02. 命令格式
    • 03. 常用選項
    • 04. 參考示例
    • 05. 附錄

01. 命令概述

netstat命令用于顯示各種網絡相關信息,如網絡連接,路由表,接口狀態 (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 等等。

從整體上看,netstat的輸出結果可以分為兩個部分:一個是Active Internet connections,稱為有源TCP連接,其中”Recv-Q”和”Send-Q”指%0A的是接收隊列和發送隊列。這些數字一般都應該是0。如果不是則表示軟件包正在隊列中堆積。這種情況只能在非常少的情況見到;另一個是Active UNIX domain sockets,稱為有源Unix域套接口(和網絡套接字一樣,但是只能用于本機通信,性能可以提高一倍)。

02. 命令格式

格式:netstat [選項] [參數]

03. 常用選項

-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"參數相同。

04. 參考示例

4.1 列出所有端口 (包括監聽和未監聽的)

[root@localhost ~]# netstat -a Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN

4.2 列出所有的TCP端口

[root@localhost ~]# netstat -at Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN

4.3 列出所有的UDP端口

[root@localhost ~]# netstat -au Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 0.0.0.0:mdns 0.0.0.0:* udp 0 0 localhost:323 0.0.0.0:*

4.4 顯示路由表信息

[root@localhost ~]# netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default gateway 0.0.0.0 UG 0 0 0 ens33 172.16.0.0 0.0.0.0 255.255.254.0 U 0 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 [root@localhost ~]#

4.5 顯示網絡接口列表

[root@localhost ~]# netstat -i Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg ens33 1500 193158 0 0 0 7347 0 0 0 BMRU lo 65536 101 0 0 0 101 0 0 0 LRU virbr0 1500 0 0 0 0 0 0 0 0 BMU [root@localhost ~]#

4.6 顯示已連接的TCP端口,以及PID

[root@localhost ~]# netstat -tpnl jActive Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1546/mysqld tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 608/rpcbind tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1363/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 772/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 767/cupsd tcp6 0 0 :::111 :::* LISTEN 608/rpcbind tcp6 0 0 :::22 :::* LISTEN 772/sshd tcp6 0 0 ::1:631 :::* LISTEN 767/cupsd [root@localhost ~]# j

4.7 顯示當前用戶UDP端口,直接使用IP

[root@localhost ~]# netstat -nu Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State [root@localhost ~]#

4.8 顯示多重廣播功能群組組員

[root@localhost ~]# netstat -g IPv6/IPv4 Group Memberships Interface RefCnt Group --------------- ------ --------------------- lo 1 224.0.0.1 ens33 1 224.0.0.251 ens33 1 224.0.0.1 virbr0 1 224.0.0.251 virbr0 1 224.0.0.1 lo 1 ff02::1 lo 1 ff01::1 ens33 1 ff02::1:ffd5:68de ens33 1 ff02::1 ens33 1 ff01::1 virbr0 1 ff02::1 virbr0 1 ff01::1 virbr0-nic 1 ff02::1 virbr0-nic 1 ff01::1 [root@localhost ~]#

4.9 只顯示監聽端口

[root@localhost ~]# netstat -l Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN

4.10 只列出所有監聽 tcp 端口

[root@localhost ~]# netstat -lt Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN tcp 0 0 localhost.locald:domain 0.0.0.0:* LISTEN

4.11只列出所有監聽 udp 端口

[root@localhost ~]# netstat -lu Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 0.0.0.0:mdns 0.0.0.0:* udp 0 0 localhost:323 0.0.0.0:*

4.12 只列出所有監聽 UNIX 端口

[root@localhost ~]# netstat -lx Active UNIX domain sockets (only servers) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 32140 @/tmp/.ICE-unix/1953 unix 2 [ ACC ] STREAM LISTENING 29533 @/tmp/dbus-Jvx5ygyU22

4.13 顯示所有端口的統計信息

[root@localhost ~]# netstat -s Ip:179136 total packets received0 forwarded0 incoming packets discarded179017 incoming packets delivered6995 requests sent out32 dropped because of missing route

4.14 顯示TCP端口的統計信息

[root@localhost ~]# netstat -st IcmpMsg:InType0: 10OutType3: 2OutType8: 10

4.15 顯示UDP端口的統計信息

[root@localhost ~]# netstat -su IcmpMsg:InType0: 10OutType3: 2OutType8: 10

4.16 在netstat輸出中顯示 PID 和進程名稱

[root@localhost ~]# netstat -pt Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 96 localhost.localdoma:ssh 172.16.0.51:50412 ESTABLISHED 3560/sshd: deng [pr [root@localhost ~]#

netstat -p可以與其它開關一起使用,就可以添加“PID/進程名稱”到netstat輸出中,這樣debugging的時候可以很方便的發現特定端口運行的程序。

4.17 顯示數字端口號,但是不影響主機或用戶名的解析

[root@localhost ~]# netstat -a --numeric-ports

4.18 顯示數字形式的主機但是不影響端口或用戶名的解析

[root@localhost ~]# netstat -a --numeric-hosts

4.19 顯示數字的用戶ID,但是不影響主機和端口名的解析

[root@localhost ~]# netstat -a --numeric-users

4.20 持續顯示網絡信息

[root@localhost ~]# netstat -c Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State

4.21顯示系統不支持的地址族

[root@localhost ~]# netstat --verbose netstat: no support for `AF IPX' on this system. netstat: no support for `AF AX25' on this system. netstat: no support for `AF X25' on this system. netstat: no support for `AF NETROM' on this system.

4.22 顯示路由信息

[root@localhost ~]# 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 ens33 172.16.0.0 0.0.0.0 255.255.254.0 U 0 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 [root@localhost ~]#

4.23 查找指定進程的網絡狀態信息

[root@localhost ~]# netstat -apn | grep ssh tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 772/sshd tcp 0 96 172.16.0.76:22 172.16.0.51:50412 ESTABLISHED 3560/sshd: deng [pr

4.24 查找指定端口進程

[root@localhost ~]# netstat -apn | grep -w 22 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 772/sshd tcp 0 96 172.16.0.76:22 172.16.0.51:50412 ESTABLISHED 3560/sshd: deng [pr tcp6 0 0 :::22 :::* LISTEN 772/sshd [root@localhost ~]#

4.25 顯示所有網絡接口信息

[root@localhost ~]# netstat -ie Kernel Interface table ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 172.16.0.76 netmask 255.255.254.0 broadcast 172.16.1.255inet6 fe80::16e5:9e6b:b4d5:68de prefixlen 64 scopeid 0x20<link>ether 00:50:56:26:d8:88 txqueuelen 1000 (Ethernet)RX packets 203226 bytes 59605454 (56.8 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 9213 bytes 5044661 (4.8 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (Local Loopback)RX packets 101 bytes 7127 (6.9 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 101 bytes 7127 (6.9 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255ether 52:54:00:d2:18:f4 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0[root@localhost ~]#

4.26 查看連接某服務端口最多的的IP地址

[root@localhost ~]# netstat -nat | grep "172.16.0.76:22" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -20 1 172.16.0.51 [root@localhost ~]#

4.27 查看3306 端口(mysql)的鏈接數

[root@localhost ~]# netstat -apn | grep -c 3306 1 [root@localhost ~]#

4.28 統計TCP連接

[root@localhost ~]# netstat -n | awk '/^tcp/{++S[$NF]} END {for (a in S) print a, S[a]}' ESTABLISHED 1 [root@localhost ~]#

4.29 統計TCP各種狀態

[root@localhost ~]# netstat -nt | grep -e 127.0.0.1 -e 0.0.0.0 -e ::: -v | awk '/^tcp/ {++state[$NF]} END {for(i in state) print i,"\t",state[i]}' ESTABLISHED 1 [root@localhost ~]#

4.30 把狀態全都取出來后使用uniq -c統計后再進行排序

[root@localhost ~]# netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn8 LISTEN1 Foreign1 ESTABLISHED1 established) [root@localhost ~]#

05. 附錄

參考:【Linux】一步一步學Linux系列教程匯總

總結

以上是生活随笔為你收集整理的【Linux】一步一步学Linux——netstat命令(166)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。