如何查看Linux网络连接数 netstat统计TCP连接技巧

前两天,我手头有个小项目,需要监控一下服务器上的TCP连接情况。
我坐在电脑前,敲了一行行命令,突然间,我眼前一亮,一个数字跳了出来——8 7 4 ,这就是当前系统中的TCP连接总数。
我有点惊讶,因为这个数字比我预想的要高,仔细一看,果然,里面包括了本地回环连接和TIME_WAIT状态的连接。

我继续深入,想看看这些连接的状态分布。
我输入了命令“netstat -ant | awk '{print $6 }' | sort | uniq -c | sort -nr”,屏幕上立刻显示了一串数字和状态。
ESTABLISHED状态的连接有8 7 个,TIME_WAIT状态的连接有4 5 个,而LISTEN状态的连接有3 个。
这个结果让我对服务器的使用情况有了更直观的了解。

然后,我又想了解特定端口8 0的连接情况。
我输入了“netstat -antp | grep :8 0 | wc -l”,结果显示了当前与8 0端口相关的连接数。
我有点好奇,这些连接都是些什么类型的呢?我紧接着输入了“netstat -antp | grep :8 0 | grep ESTABLISHED | wc -l”,结果告诉我,当前有3 0个活跃的客户端连接。

最后,我发现本地服务间通过1 2 7 .0.0.1 通信可能会干扰统计结果,所以我尝试使用“netstat -ant | grep -v '1 2 7 .0.0.1 ' | wc -l”来排除这些干扰。
结果,连接总数降到了7 3 4 ,这个数字看起来合理多了。

我站在窗边,看着窗外的天空,突然想到,这些数字背后,是无数次的网络请求和响应,是服务器背后默默工作的力量。
等等,还有个事,我刚才为什么没有用ss命令呢?

Linux如何查看当前的网络连接状态

直接上结论。

用ss命令看网络连接。

ss -tuln看所有TCP UDP监听端口。

ss -tulnp看所有连接和进程。

ss -tn数字形式,快。

ss -tn state established看活连接。

ss -tn state all | awk '{print $1 }' | sort | uniq -c统计状态数。

用lsof -i:端口看特定端口连接。

用lsof -i -c 进程名看特定进程连接。

-n参数必须加,不加慢。

别用netstat,太慢。

看全局用ss -tuln。

查进程用lsof。

就这样。

linux下查看端口命令是什么

上周我在公司服务器上用netstat查了一个TCP端口,发现它是正常的,没发现问题。
2 02 3 年我学Linux的时候,朋友教我用了-t和-l参数,特别方便。

我那个朋友,他之前用lsof查端口,说是能直接看到进程信息,挺实用的。
我记得有一次他用lsof -i:8 0看了8 0端口,真的找到了那个进程。

还有一次,我用nmap扫描了本地所有端口,结果发现有个端口是开放的,我就赶紧查了一下,幸亏没有安全问题。
你看着办,如果你需要查端口,可以试试这几个命令。