解决方案

netstat 命令详解

seo靠我 2023-09-23 00:41:20

文章目录

简介命令格式常用选项常用命令查询进程所占用的端口号查看端口号的使用情况显示所有连接和监听端口并显示每个连接相关的进程ID显示UDP、TCP协议的连接的统计信息并显示每个连接相关的进程 ID显示SEO靠我所有已建立的连接显示每个进程的连接数显示每个IP地址的连接数显示每种类型TCP/UDP的连接数显示每种网络状态的数量显示指定进程ID网络状态的数量显示端口占用数量网络状态

简介

netstat 命令是 LSEO靠我inux 系统中一个非常常用的网络工具,用于查询和统计网络连接的状态和数据传输情况。在网络故障排除和性能调优中,netstat 命令是必不可少的工具之一。本文将详细介绍 netstat 命令的常用参数SEO靠我及其用法。

命令格式

netstat [-a] [-c] [-e] [-f] [-i] [-n] [-o] [-p protocol] [-r] [-s] [-t] [-u] [interval]

常用选项SEO靠我

netstat 命令的常用选项如下:

-a(all):显示所有连接状态,包括 TCP、UDP 和 Unix 域套接字; -t(tcp):显示 TCP 连接状态;-u(udp):显示 UDP 连接状态;-SEO靠我x:列出所有unix端口 -c(continuous):连续显示网络状态信息。按 Ctrl + C 结束。-e(extend):显示网络统计信息。包括网络接口、协议等。-f:显示外部地址的完全限定域名SEO靠我(FQDN)。-i:显示网络接口信息。-n:以数字形式显示地址和端口号。-o:显示与每个连接相关的进程 ID。-p protocol:显示特定协议(tcp、udp 或 icmp)的连接。-r:显示路由SEO靠我表。-s:显示网络统计信息。包括网络接口、协议等。-t:显示 TCP 协议的连接。-u:显示 UDP 协议的连接。interval:指定连续显示网络状态信息的时间间隔(单位为秒)。

常用命令

查询进程所占SEO靠我用的端口号

netstat -ano | grep 进程ID

查看端口号的使用情况

netstat -ano | grep 端口号

显示所有连接和监听端口并显示每个连接相关的进程ID

netstat -ano

SEO靠我示UDP、TCP协议的连接的统计信息并显示每个连接相关的进程 ID

netstat -so -p udpnetstat -so -p tcp IPv4 的 TCP 统计信息主动开放 = SEO靠我8055被动开放 = 1136失败的连接尝试 = 2469重置连接 = 1712当前连接 = 67接收的分段 = 2473796发送的分段 = 454254重新传输的分段 = 10493活动连接协议 SEO靠我本地地址 外部地址 状态 PIDTCP 127.0.0.1:6000 kubernetes:51683 ESTABLISHED 16460TCP 127.0.0.1:6000 kubernetes:5SEO靠我1684 ESTABLISHED 16460

显示所有已建立的连接

netstat -ano | grep ESTABLISHED TCP 127.0.0.1:6000 127.0.0.1SEO靠我:51684 ESTABLISHED 16460 TCP 127.0.0.1:6000 127.0.0.1:51685 ESTABLISHED 16460

显示每个进程的连接数

netstSEO靠我at -ano | grep ESTABLISHED | awk {print $5} | sort | uniq -c | sort -nr | head -10

netstat -ano: 显示所有SEO靠我连接和监听端口,以数字形式显示地址和端口号,并显示与每个连接相关的进程 ID

TCP 0.0.0.0:47001 0.0.0.0:0 LISTENING 4TCP 0.0.0.0:49664 0.0.0SEO靠我.0:0 LISTENING 1044TCP 127.0.0.1:4244 0.0.0.0:0 LISTENING 15104TCP 127.0.0.1:6000 127.0.0.1:51683 ESSEO靠我TABLISHED 16460TCP 127.0.0.1:6000 127.0.0.1:51685 ESTABLISHED 16460...UDP 192.168.2.226:1900 *:* 104SEO靠我28UDP 192.168.2.226:61395 *:* 10428UDP [::]:3702 *:* 15956UDP [::]:57584 *:* 15956UDP [::1]:1900 *:*SEO靠我 10428UDP [::1]:61392 *:* 10428UDP [fe80::b131:35eb:14b3:8958%50]:1900 *:* 10428

grep ESTABLISHED :过滤SEO靠我出已建立的连接。

TCP 127.0.0.1:6000 127.0.0.1:51683 ESTABLISHED 16460TCP 127.0.0.1:6000 127.0.0.1:51685 ESTABSEO靠我LISHED 16460TCP 127.0.0.1:49671 127.0.0.1:62522 ESTABLISHED 8244TCP 127.0.0.1:49672 127.0.0.1:49673 SEO靠我ESTABLISHED 6952TCP 127.0.0.1:49673 127.0.0.1:49672 ESTABLISHED 6952TCP 127.0.0.1:51058 127.0.0.1:51SEO靠我059 ESTABLISHED 4612TCP 127.0.0.1:51059 127.0.0.1:51058 ESTABLISHED 4612TCP 127.0.0.1:51061 127.0.0.SEO靠我1:51062 ESTABLISHED 4612

awk {print $5} :提取出第5列进程ID。

16460 16460 8244 6952 SEO靠我 6952 4612 4612 4612

sort | uniq -c | sort -nr :排序统计每个进程ID的连接数量,并按照连接数量从高SEO靠我到低排序;

sort:排序。uniq -c:用于在文本中查找并计数唯一行,有点像count - group bysort -nr:用于对文本进行排序。 -n 选项表示按照数值大小排序,而不是按照字典序排SEO靠我序;-r 选项表示按照逆序排序,即从大到小排序。 netstat -ano | grep ESTABLISHED | awk {print $5} | sort 164SEO靠我60 16460 4612 4612 4612 6952 6952 8244netstaSEO靠我t -ano | grep ESTABLISHED | awk {print $5} | sort | uniq -c 2 16460 3 4612 2SEO靠我 6952 1 8244netstat -ano | grep ESTABLISHED | awk {print $5} | sort | uniq -c | sort -nr SEO靠我 3 4612 2 16460 2 6952 1 8244

head : 显示前面的若干行。

netstat -ano | grep ESTABLISEO靠我SHED | awk {print $5} | sort | uniq -c | sort -nr | head -2 3 4612 2 16460

显示每个IP地址的连SEO靠我接数

netstat -ano | awk {print $3} | cut -d: -f1 | sort | uniq -c | sort -rn

cut -d: -f1 :用于从文本中剪切文本并打印出SEO靠我指定字段。目的是从连接信息中提取远程 IP 地址,剔除掉冒号和端口号。

-d: 表示使用冒号作为分隔符-f1 表示提取分隔符左边的第一个字段 netstat -ano | grep ESSEO靠我TABLISHED | awk {print $3} 127.0.0.1:51240 10.2.3.411:443 110.236.32.1:443neSEO靠我tstat -ano | awk {print $3} | cut -d: -f1 127.0.0.1 10.2.3.411 110.236.32.1

SEO靠我他命令跟上面一样单步调试即可。

显示每种类型TCP/UDP的连接数

netstat -ano | awk {print $1} | sort | uniq -c 120 TCP SEO靠我 82 UDP

显示每种网络状态的数量

// TCP 网络状态的数量 netstat -ano |grep TCP | awk {print $4} | sort | uniq -c SEO靠我 62 ESTABLISHED 51 LISTENING2 TIME_WAIT

显示指定进程ID网络状态的数量

// TCP 网络状态的数量 netstat SEO靠我-ano |grep 进程ID | awk {print $4} | sort | uniq -c 62 ESTABLISHED 51 LISTENING2 TIME_SEO靠我WAIT

显示端口占用数量

netstat -ano | grep -c : 或者 netstat -a -n | grep -c "TCP" netstaSEO靠我t -a -n | grep -c "UDP" netstat -a -n | grep -w "TCP" | wc -l netstat -ano | awk NR>SEO靠我2{print $1} | sort | uniq -c | awk {print $2 "占用了"$1"个端口"} 上面的都有重复 netstat -ano | awSEO靠我k {print $3} | cut -d: -f1 | sort | uniq -c | sort -rn

grep -c : : grep 命令用于在文件或输出中查找与指定模式匹配的行,并将匹配的行SEO靠我打印出来。

其中 -c 选项用于统计匹配到的行数 : : 表示匹配冒号字符。

因此,grep -c : 命令会统计输出或文件中包含冒号字符的行数。

网络状态

State状态LISTENING监听中,服务端需要SEO靠我打开一个socket进行监听,侦听来自远方TCP端口的连接请求ESTABLISHED已连接,代表一个打开的连接,双方可以进行或已经在数据交互了SYN_SENT客户端通过应用程序调用connect发送一SEO靠我个SYN以请求建立一个连接。在收到ACK后,状态转为ESTABLIHSED。CLOSE_WAIT被动关闭端接到FIN后,就发出ACK以回应FIN请求(它的接收也作为文件结束符传递给上层应用程序)TIMSEO靠我E_WAIT主动关闭端接收到FIN后,TCP就发送ACK包,并进入TIME-WAIT状态LAST_ACK等待对方回应一个ACK(这是准备关闭连接的一个步骤,意味着这个连接正在关闭)
“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2