千家信息网

Linux的netstat命令使用实例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"Linux的netstat命令使用实例分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所
千家信息网最后更新 2026年11月03日Linux的netstat命令使用实例分析

本篇内容介绍了"Linux的netstat命令使用实例分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

简介
netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (interface statistics),masquerade 连接,多播成员 (multicast memberships) 等等。

输出信息含义
执行netstat后,其输出结果为

复制代码 代码如下:

active internet connections (w/o servers)
proto recv-q send-q local address foreign address state
tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 established
tcp 296 0 210.34.6.89:1165 210.34.6.84:netbios-ssn established
tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 established
tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 established
tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn close

active unix domain sockets (w/o servers)
proto refcnt flags type state i-node path
unix 1 [ ] stream connected 16178 @000000dd
unix 1 [ ] stream connected 16176 @000000dc
unix 9 [ ] dgram 5292 /dev/log
unix 1 [ ] stream connected 16182 @000000df

从整体上看,netstat的输出结果可以分为两个部分:

一个是active internet connections,称为有源tcp连接,其中"recv-q"和"send-q"指%0a的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

另一个是active unix domain sockets,称为有源unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
proto显示连接使用的协议,refcnt表示连接到本套接口上的进程号,types显示套接口的类型,state显示套接口当前的状态,path表示连接到套接口的其它进程使用的路径名。

常见参数
-a (all)显示所有选项,默认不显示listen相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 listen (监听) 的服務状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

提示:listen和listening的状态只有用-a或者-l才能看到

实用命令实例

1. 列出所有端口 (包括监听和未监听的)
列出所有端口 netstat -a

复制代码 代码如下:

# netstat -a | more
active internet connections (servers and established)
proto recv-q send-q local address foreign address state
tcp 0 0 localhost:30037 *:* listen
udp 0 0 *:bootpc *:*
active unix domain sockets (servers and established)
proto refcnt flags type state i-node path
unix 2 [ acc ] stream listening 6135 /tmp/.x11-unix/x0
unix 2 [ acc ] stream listening 5140 /var/run/acpid.socket

列出所有 tcp 端口 netstat -at

复制代码 代码如下:

# netstat -at
active internet connections (servers and established)
proto recv-q send-q local address foreign address state
tcp 0 0 localhost:30037 *:* listen
tcp 0 0 localhost:ipp *:* listen
tcp 0 0 *:smtp *:* listen
tcp6 0 0 localhost:ipp [::]:* listen

列出所有 udp 端口 netstat -au

复制代码 代码如下:

# netstat -au
active internet connections (servers and established)
proto recv-q send-q local address foreign address state
udp 0 0 *:bootpc *:*
udp 0 0 *:49119 *:*
udp 0 0 *:mdns *:*

2. 列出所有处于监听状态的 sockets
只显示监听端口 netstat -l

复制代码 代码如下:

# netstat -l
active internet connections (only servers)
proto recv-q send-q local address foreign address state
tcp 0 0 localhost:ipp *:* listen
tcp6 0 0 localhost:ipp [::]:* listen
udp 0 0 *:49119 *:*

只列出所有监听 tcp 端口 netstat -lt

复制代码 代码如下:

# netstat -lt
active internet connections (only servers)
proto recv-q send-q local address foreign address state
tcp 0 0 localhost:30037 *:* listen
tcp 0 0 *:smtp *:* listen
tcp6 0 0 localhost:ipp [::]:* listen

只列出所有监听 udp 端口 netstat -lu

复制代码 代码如下:

# netstat -lu
active internet connections (only servers)
proto recv-q send-q local address foreign address state
udp 0 0 *:49119 *:*
udp 0 0 *:mdns *:*

只列出所有监听 unix 端口 netstat -lx

复制代码 代码如下:

# netstat -lx
active unix domain sockets (only servers)
proto refcnt flags type state i-node path
unix 2 [ acc ] stream listening 6294 private/maildrop
unix 2 [ acc ] stream listening 6203 public/cleanup
unix 2 [ acc ] stream listening 6302 private/ifmail
unix 2 [ acc ] stream listening 6306 private/bsmtp


3. 显示每个协议的统计信息
显示所有端口的统计信息 netstat -s

复制代码 代码如下:

# netstat -s
ip:
total packets received
with invalid addresses
forwarded
incoming packets discarded
incoming packets delivered
requests sent out
icmp:
icmp messages received
input icmp message failed.
tcp:
active connections openings
failed connection attempts
connection resets received
udp:
packets received
packets to unknown port received.
.....

显示 tcp 或 udp 端口的统计信息 netstat -st 或 -su

复制代码 代码如下:

# netstat -st
# netstat -su

4. 在 netstat 输出中显示 pid 和进程名称 netstat -p
netstat -p 可以与其它开关一起使用,就可以添加 "pid/进程名称" 到 netstat 输出中,这样 debugging 的时候可以很方便的发现特定端口运行的程序。

复制代码 代码如下:

# netstat -pt
active internet connections (w/o servers)
proto recv-q send-q local address foreign address state pid/program name
tcp 1 0 ramesh-laptop.loc:47212 192.168.185.75:www close_wait 2109/firefox
tcp 0 0 ramesh-laptop.loc:52750 lax:www established 2109/firefox

5. 在 netstat 输出中不显示主机,端口和用户名 (host, port or user)
当你不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。

同样可以加速输出,因为不用进行比对查询。

复制代码 代码如下:

# netstat -an

如果只是不想让这三个名称中的一个被显示,使用以下命令

复制代码 代码如下:

# netsat -a --numeric-ports
# netsat -a --numeric-hosts
# netsat -a --numeric-users

6. 持续输出 netstat 信息
netstat 将每隔一秒输出网络信息。

复制代码 代码如下:

# netstat -c
active internet connections (w/o servers)
proto recv-q send-q local address foreign address state
tcp 0 0 ramesh-laptop.loc:36130 101-101-181-225.ama:www established
tcp 1 1 ramesh-laptop.loc:52564 101.11.169.230:www closing
tcp 0 0 ramesh-laptop.loc:43758 server-101-101-43-2:www established
tcp 1 1 ramesh-laptop.loc:42367 101.101.34.101:www closing
^c

7. 显示系统不支持的地址族 (address families)

复制代码 代码如下:

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.

8. 显示核心路由信息 netstat -r

复制代码 代码如下:

# netstat -r
kernel ip routing table
destination gateway genmask flags mss window irtt iface
192.168.1.0 * 255.255.255.0 u 0 0 0 eth2
link-local * 255.255.0.0 u 0 0 0 eth2
default 192.168.1.1 0.0.0.0 ug 0 0 0 eth2

注意: 使用 netstat -rn 显示数字格式,不查询主机名称。
9. 找出程序运行的端口
并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。

复制代码 代码如下:

# netstat -ap | grep ssh
tcp 1 0 dev-db:ssh 101.174.100.22:39213 close_wait -
tcp 1 0 dev-db:ssh 101.174.100.22:57643 close_wait -

找出运行在指定端口的进程

复制代码 代码如下:

# netstat -an | grep ':80'

10. 显示网络接口列表

复制代码 代码如下:

# netstat -i
kernel interface table
iface mtu met rx-ok rx-err rx-drp rx-ovr tx-ok tx-err tx-drp tx-ovr flg
eth0 1500 0 0 0 0 0 0 0 0 0 bmu
eth2 1500 0 26196 0 0 0 26883 6 0 0 bmru
lo 16436 0 4 0 0 0 4 0 0 0 lru

显示详细信息,像是 ifconfig 使用 netstat -ie:

复制代码 代码如下:

# netstat -ie
kernel interface table
eth0 link encap:ethernet hwaddr 00:10:40:11:11:11
up broadcast multicast mtu:1500 metric:1
rx packets:0 errors:0 dropped:0 overruns:0 frame:0
tx packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
rx bytes:0 (0.0 b) tx bytes:0 (0.0 b)
memory:f6ae0000-f6b00000

11. ip和tcp分析
查看连接某服务端口最多的的ip地址

复制代码 代码如下:

wss8848@ubuntu:~$ netstat -nat | grep "192.168.1.15:22" |awk '{print $5}'|awk -f: '{print $1}'|sort|uniq -c|sort -nr|head -20
221.136.168.36
154.74.45.242
78.173.31.236
62.183.207.98
192.168.1.14
182.48.111.215
124.193.219.34
119.145.41.2
114.255.41.30
75.102.11.99

tcp各种状态列表

复制代码 代码如下:

wss8848@ubuntu:~$ netstat -nat |awk '{print $6}'
established)
foreign
listen
time_wait
established
time_wait
syn_sent

先把状态全都取出来,然后使用uniq -c统计,之后再进行排序。

复制代码 代码如下:

wss8848@ubuntu:~$ netstat -nat |awk '{print $6}'|sort|uniq -c
established
fin_wait1
foreign
last_ack
listen
syn_sent
time_wait
established)

最后的命令如下:

复制代码 代码如下:

netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn

分析access.log获得访问前10位的ip地址

复制代码 代码如下:

awk '{print $1}' access.log |sort|uniq -c|sort -nr|head -10

"Linux的netstat命令使用实例分析"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

代码 端口 信息 输出 监听 命令 状态 进程 名称 数字 网络 统计 分析 路由 实例 主机 地址 情况 程序 队列 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 有格互联网科技 湖北九亚互联网络科技有限公司 天津市摩尔互联网科技 亿人帮互联网科技有限公司 广东猪兼强互联网科技有限公司 互联网 的科技创新 致骋互联网科技 北京禾田雨橡互联网科技 云创客互联网科技公司 北京大学互联网科技怎么样 剑昆互联网络科技有限公司临桂 昭通互联网科技选哪家 黑科技闪耀互联网之光 翼展科技 首家互联网医院 每天都有哪些好的互联网科技 互联网科技资金流入 北京天晋互联网科技有限公司 山东蛋芒互联网科技有限公司 河南商务圈互联网科技有限公司 前海云享互联网科技 天津市摩尔互联网科技 智网互联网科技 碳银互联网科技 善班互联网科技有限公司 汉立互联网科技有限公司联系电话 福建科技产业互联网发展 亳州好赞互联网科技有限公司 南博望互联网科技有限公司 扫呗互联网科技有限公司 银川新华互联网科技学校招聘
0