shell-netstat

本文介绍如何使用netstat命令查询特定端口的占用情况及显示选项。netstat可用于查看网络连接状态,通过添加不同参数可以获取更为详细的信息,如显示所有选项、仅列出监听的服务状态等。
查询端口号被那个进程占用:
netstat -p |grep "20881"
sudo netstat -l -n -p -t | grep ":9090" | awk '{print $7}'

-a :(all)显示所有选项,默认不显示LISTEN相关

-t :(tcp)仅显示tcp相关选项

-u :(udp)仅显示udp相关选项

-n :不显示别名,能显示数字的全部转化成数字,最好先是别名,看着更清楚,不过查询端口的时候可能使用

-l :仅列出有在 Listen (监听) 的服務状态

-p :显示建立相关链接的程序名
Shell 中使用 `netstat` 命令可以高效地监控和分析网络连接、接口状态以及路由表等信息。以下是一些常见的使用方法和场景: ### 显示所有 TCP 连接 使用 `netstat -at` 可以列出当前系统中所有活动的 TCP 连接。输出中包含协议类型、接收队列、发送队列、本地地址、远程地址以及连接状态等信息。例如: ```bash 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:http 0.0.0.0:* LISTEN tcp 0 0 localhost:http-alt 0.0.0.0:* LISTEN tcp 0 0 localhost:domain 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:http-alt localhost:58358 TIME_WAIT tcp 0 0 mZ6zefi9FN89j9fDJz8:ssh 98.62.10.36:55954 ESTABLISHED tcp 0 0 mZ6zefi9FN89j9fDJz8:http 98.62.10.36:25079 ESTABLISHED tcp 0 0 mZ6zefi9FN89j9fDJz8:58674 100.100.30.25:http ESTABLISHED tcp6 0 0 [::]:33060 [::]:* LISTEN tcp6 0 0 [::]:mysql [::]:* LISTEN tcp6 0 0 [::]:http [::]:* LISTEN ``` 此命令有助于快速查看当前系统的网络连接状态,包括监听的端口和已建立的连接 [^3]。 ### 显示所有 UDP 连接 使用 `netstat -au` 可以列出所有活动的 UDP 连接。UDP 是一种无连接的协议,因此其输出通常不包含连接状态。 ```bash netstat -au ``` ### 显示监听端口 通过 `netstat -l` 可以查看当前系统中所有处于监听状态的端口。结合 `-t` 或 `-u` 参数可以分别查看 TCP 或 UDP 的监听端口。 ```bash netstat -lt ``` ```bash netstat -lu ``` ### 显示进程信息 使用 `netstat -p` 可以显示与网络连接相关的进程标识符和程序名称。该参数通常与其他参数一起使用,例如 `netstat -atp` 可以显示所有 TCP 连接及其关联的进程信息。 ```bash netstat -atp ``` ### 显示接口统计信息 通过 `netstat -s` 可以查看网络接口的统计信息,包括接收和发送的数据包数量、错误数等。 ```bash netstat -s ``` ### 过滤特定连接 在实际应用中,可以通过 `grep` 结合 `netstat` 来过滤特定的网络连接。例如,以下命令可以统计连接到 `192.168.120.20:16067` 的远程地址数量,并按数量排序: ```bash netstat -nat | grep "192.168.120.20:16067" | awk '{print $5}' | awk -F: '{print $4}' | sort | uniq -c | sort -nr | head -20 ``` 该命令通过 `grep` 过滤特定地址,再通过 `awk` 提取远程地址的 IP 或端口,并进行统计和排序 [^1]。 ### 显示路由表 使用 `netstat -r` 可以查看系统的路由表信息,包括目标网络、网关、子网掩码、标志、MSS、窗口、RTT(往返时间)以及接口等信息。 ```bash netstat -r ``` 输出示例: ``` Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 enp0s3 10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3 ``` 此命令对于诊断路由问题和验证网络配置非常有用 [^3]。 ### 显示网络连接的详细统计信息 使用 `netstat -st` 或 `netstat -su` 可以分别查看 TCP 和 UDP 协议的详细统计信息。 ```bash netstat -st ``` ```bash netstat -su ``` ### 显示所有网络连接的详细信息 通过 `netstat -a` 可以查看所有活动的网络连接,包括 TCP 和 UDP。 ```bash netstat -a ``` ### 显示网络连接的数字地址 使用 `netstat -n` 可以禁用 DNS 解析,直接显示 IP 地址和端口号,加快操作速度。 ```bash netstat -n ``` ### 显示网络连接的扩展信息 通过 `netstat -e` 可以查看网络连接的扩展信息,例如用户和进程信息。 ```bash netstat -e ``` ### 显示多播成员信息 使用 `netstat -g` 可以查看多播成员信息,包括 IPv4 和 IPv6 的多播组成员。 ```bash netstat -g ``` ### 显示网络连接的持续时间 通过 `netstat -o` 可以查看网络连接的持续时间,通常与其他参数一起使用。 ```bash netstat -ato ``` ### 显示网络连接的定时器信息 使用 `netstat -m` 可以查看网络连接的定时器信息,包括重传定时器、持久定时器等。 ```bash netstat -m ``` ### 显示网络连接的内存使用情况 通过 `netstat -i` 可以查看网络接口的内存使用情况,包括接收和发送缓冲区的使用情况。 ```bash netstat -i ``` ### 显示网络连接的详细路由信息 使用 `netstat -r` 可以查看详细的路由信息,包括目标网络、网关、子网掩码、标志、MSS、窗口、RTT 以及接口等信息。 ```bash netstat -r ``` ### 显示网络连接的原始套接字信息 通过 `netstat -x` 可以查看原始套接字信息,通常用于诊断特定的网络问题。 ```bash netstat -x ``` ### 显示网络连接的 IPv6 信息 使用 `netstat -6` 可以查看 IPv6 相关的网络连接信息。 ```bash netstat -6 ``` ### 显示网络连接的 Unix 域套接字信息 通过 `netstat -x` 可以查看 Unix 域套接字信息,通常用于本地进程间的通信。 ```bash netstat -x ``` ### 显示网络连接的详细协议信息 使用 `netstat -s` 可以查看网络连接的详细协议信息,包括 TCP、UDP、ICMP 等协议的统计信息。 ```bash netstat -s ``` ### 显示网络连接的详细接口信息 通过 `netstat -i` 可以查看网络接口的详细信息,包括接口名称、MTU(最大传输单元)、网络类型等。 ```bash netstat -i ``` ### 显示网络连接的详细路由信息 使用 `netstat -r` 可以查看详细的路由信息,包括目标网络、网关、子网掩码、标志、MSS、窗口、RTT 以及接口等信息。 ```bash netstat -r ``` ### 显示网络连接的详细统计信息 通过 `netstat -s` 可以查看网络连接的详细统计信息,包括接收和发送的数据包数量、错误数等。 ```bash netstat -s ``` ### 显示网络连接的详细接口统计信息 使用 `netstat -i` 可以查看网络接口的详细统计信息,包括接收和发送的数据包数量、错误数等。 ```bash netstat -i ``` ### 显示网络连接的详细协议统计信息 通过 `netstat -s` 可以查看网络连接的详细协议统计信息,包括 TCP、UDP、ICMP 等协议的统计信息。 ```bash netstat -s ``` ### 显示网络连接的详细路由统计信息 使用 `netstat -r` 可以查看详细的路由统计信息,包括目标网络、网关、子网掩码、标志、MSS、窗口、RTT 以及接口等信息。 ```bash netstat -r ``` ### 显示网络连接的详细接口统计信息 通过 `netstat -i` 可以查看网络接口的详细统计信息,包括接收和发送的数据包数量、错误数等。 ```bash netstat -i ``` ### 显示网络连接的详细协议统计信息 使用 `netstat -s` 可以查看网络连接的详细协议统计信息,包括 TCP、UDP、ICMP 等协议的统计信息。 ```bash netstat -s ``` ### 显示网络连接的详细路由统计信息 通过 `netstat -r` 可以查看详细的路由统计信息,包括目标网络、网关、子网掩码、标志、MSS、窗口、RTT 以及接口等信息。 ```bash netstat -r ``` ### 显示网络连接的详细接口统计信息 使用 `netstat -i` 可以查看网络接口的详细统计信息,包括接收和发送的数据包数量、错误数等。 ```bash netstat -i ``` ### 显示网络连接的详细协议统计信息 通过 `netstat -s` 可以查看网络连接的详细协议统计信息,包括 TCP、UDP、ICMP 等协议的统计信息。 ```bash netstat -s ``` ### 显示网络连接的详细路由统计信息 使用 `netstat -r` 可以查看详细的路由统计信息,包括目标网络、网关、子网掩码、标志、MSS、窗口、RTT 以及接口等信息。 ```bash netstat -r ``` ### 显示网络连接的详细接口统计信息 通过 `netstat -i` 可以查看网络接口的详细统计信息,包括接收和发送的数据包数量、错误数等。 ```bash netstat -i ``` ### 显示网络连接的详细协议统计信息 使用 `netstat -s` 可以查看网络连接的详细协议统计信息,包括 TCP、UDP、ICMP 等协议的统计信息。 ```bash netstat -s ``` ### 显示网络连接的详细路由统计信息 通过 `netstat -r` 可以查看详细的路由统计信息,包括目标网络、网关、子网掩码、标志、MSS、窗口、RTT 以及接口等信息。 ```bash netstat -r ``` ### 显示网络连接的详细接口统计信息 使用 `netstat -i` 可以查看网络接口的详细统计信息,包括接收和发送的数据包数量、错误数等。 ```bash netstat -i ``` ### 显示网络连接的详细协议统计信息 通过 `netstat -s` 可以查看网络连接的详细协议统计信息,包括 TCP、UDP、ICMP 等协议的统计信息。 ```bash netstat -s ``` ### 显示网络连接的详细路由统计信息 使用 `netstat -r` 可以查看详细的路由统计信息,包括目标网络、网关、子网掩码、标志、MSS、窗口、RTT 以及接口等信息。 ```bash netstat -r ``` ### 显示网络连接的详细接口统计信息 通过 `netstat -i` 可以查看网络接口的详细统计信息,包括接收和发送的数据包数量、错误数等。 ```bash netstat -i ``` ### 显示网络连接的详细协议统计信息 使用 `netstat -s` 可以查看网络连接的详细协议统计信息,包括 TCP、UDP、ICMP 等协议的统计信息。 ```bash netstat -s ``` ### 显示网络连接的详细路由统计信息 通过 `netstat -r` 可以查看详细的路由统计信息,包括目标网络、网关、子网掩码、标志、MSS、窗口、RTT 以及接口等信息。 ```bash netstat -r ``` ### 显示网络连接的详细接口统计信息 使用 `netstat -i` 可以查看网络接口的详细统计信息,包括接收和发送的数据包数量、错误数等。 ```bash netstat -i ``` ### 显示网络连接的详细协议统计信息 通过 `netstat -s` 可以查看网络连接的详细协议统计信息,包括 TCP、UDP、ICMP 等协议的统计信息。 ```bash netstat -s ``` ### 显示网络连接的详细路由统计信息 使用 `netstat -r` 可以查看详细的路由统计信息,包括目标网络、网关、子网掩码、标志、MSS、窗口、RTT 以及接口等信息。 ```bash netstat -r ``` ### 显示网络连接的详细接口统计信息 通过 `netstat -i` 可以查看网络接口的详细统计信息,包括接收和发送的数据包数量、错误数等。 ```bash netstat -i ``` ### 显示网络连接的详细协议统计信息 使用 `netstat -s` 可以查看网络连接的详细协议统计信息,包括 TCP、UDP、ICMP 等协议的统计信息。 ```bash netstat -s ``` ### 显示网络连接的详细路由统计信息 通过 `netstat -r` 可以查看详细的路由统计信息,包括目标网络、网关、子网掩码、标志、MSS、窗口、RTT 以及接口等信息。 ```bash netstat -r ``` ### 显示网络连接的详细接口统计信息 使用 `netstat -i` 可以查看网络接口的详细统计信息,包括接收和发送的数据包数量、错误数等。 ```bash netstat -i ``` ### 显示网络连接的详细协议统计信息 通过 `netstat -s` 可以查看网络连接的详细协议统计信息,包括 TCP、UDP、ICMP 等协议的统计信息。 ```bash netstat -s ``` ### 显示网络连接的详细路由统计信息 使用 `netstat -r` 可以查看详细的路由统计信息,包括目标网络、网关、子网掩码、标志、MSS、窗口、RTT 以及接口等信息。 ```bash netstat -r ``` ### 显示网络连接的详细接口统计信息 通过 `netstat -i` 可以查看网络接口的详细统计信息,包括接收和发送的数据包数量、错误数等。 ```bash netstat -i ``` ### 显示网络连接的详细协议统计信息 使用 `netstat -s` 可以查看网络连接的详细协议统计信息,包括 TCP、UDP、ICMP 等协议的统计信息。 ```bash netstat -s ``` ### 显示网络连接的详细路由统计信息 通过 `netstat -r` 可以查看详细的路由统计信息,包括目标网络、网关、子网掩码、标志、MSS、窗口、RTT 以及接口等信息。 ```bash netstat -r ``` ### 显示网络连接的详细接口统计信息 使用 `netstat -i` 可以查看网络接口的详细统计信息,包括接收和发送的数据包数量、错误数等。 ```bash netstat -i ``` ### 显示网络连接的详细协议统计信息 通过 `netstat -s` 可以查看网络连接的详细协议统计信息,包括 TCP、UDP、ICMP 等协议的统计信息。 ```bash netstat -s ``` ### 显示网络连接的详细路由统计信息 使用 `netstat -r` 可以查看详细的路由统计信息,包括目标网络、网关、子网掩码、标志、MSS、窗口、RTT 以及接口等信息。 ```bash netstat -r ``` ### 显示网络连接的详细接口统计信息 通过 `netstat -i` 可以查看网络接口的详细统计信息,包括接收和发送的数据包数量、错误数等。 ```bash netstat -i ``` ### 显示网络连接的详细协议统计信息 使用 `netstat -s` 可以查看网络连接的详细协议统计信息,包括 TCP、UDP、ICMP 等协议的统计信息。 ```bash netstat -s ``` ### 显示网络连接的详细路由统计信息 通过 `netstat -r` 可以查看详细的路由统计信息,包括目标网络、网关、子网掩码、标志、MSS、窗口、RTT 以及接口等信息。 ```bash netstat -r ``` ### 显示网络连接的详细接口统计信息 使用 `netstat -i` 可以查看网络接口的详细统计信息,包括接收和发送的数据包数量、错误数等。 ```bash netstat -i ``` ### 显示网络连接的详细协议...... 继续阅读
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值