Linux使用netstat查看网络状态
2022/8/9 5:53:48
本文主要是介绍Linux使用netstat查看网络状态,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
查看本机的网络状态。使用netstat查看网络状态。显示系统端口使用情况。UDP类型的端口。TCP类型的端口。只显示所有监听端口。只显示所有监听tcp端口。
命令使用举例
命令 | 说明 |
---|---|
netstat -anp | 显示系统端口使用情况 |
netstat -nupl | UDP类型的端口 |
netstat -ntpl | TCP类型的端口 |
netstat -l | 只显示所有监听端口 |
netstat -lt | 只显示所有监听tcp端口 |
输入命令后,输出里包含着协议、本地地址、外部地址及状态信息
Proto | Local Address | Foreign Address | State |
---|---|---|---|
协议 | 本地地址 | 外部地址 | 状态 |
各属性将在后文介绍。
组合命令
netstat -na | grep ESTABLISHED | wc -l
统计已连接上的,状态为"established"
显示系统端口使用情况 netstat -anp
???+ note "netstat -anp"
截取部分结果 ```sh title="显示系统端口使用情况" $ netstat -anp (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:3478 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:3478 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN - tcp 0 0 172.16.16.13:37432 169.254.0.55:5574 ESTABLISHED - tcp 0 600 172.16.16.13:22 222.216.195.223:17351 ESTABLISHED - tcp6 0 0 :::9010 :::* LISTEN 8708/main.js Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node PID/Program name Path unix 2 [ ] DGRAM 19037 1744/systemd /run/user/500/systemd/notify unix 2 [ ACC ] STREAM LISTENING 13532 - /var/lib/lxd/unix.socket unix 2 [ ACC ] STREAM LISTENING 19038 1744/systemd /run/user/500/systemd/private unix 2 [ ACC ] SEQPACKET LISTENING 9722 - /run/udev/control unix 2 [ ] DGRAM 71848026 - /usr/local/qcloud/YunJing/conf/ydrpc_3 unix 3 [ ] DGRAM 9712 - /run/systemd/notify ```
查看UDP类型的端口 netstat -nupl
???+ note "netstat -nupl"
```sh title="查看UDP类型的端口" $ netstat -nupl (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name udp 0 0 0.0.0.0:3478 0.0.0.0:* - udp 0 0 0.0.0.0:3478 0.0.0.0:* - udp 0 0 0.0.0.0:68 0.0.0.0:* - udp 0 0 172.16.16.13:123 0.0.0.0:* - udp 0 0 127.0.0.1:123 0.0.0.0:* - udp 0 0 0.0.0.0:123 0.0.0.0:* - udp6 0 0 :::123 :::* - ```
查看TCP类型的端口 netstat -nupl
???+ note "netstat -nupl"
截取部分结果 ```sh title="查看TCP类型的端口" $ netstat -ntpl (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN - tcp6 0 0 :::9010 :::* LISTEN 8708/main.js tcp6 0 0 :::22 :::* LISTEN - ```
只显示所有监听端口 netstat -l
???+ note "netstat -l"
部分结果 ```sh title="只显示所有监听端口" $ netstat -l Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:http *:* LISTEN tcp 0 0 *:3478 *:* LISTEN tcp 0 0 *:3478 *:* LISTEN tcp 0 0 *:ssh *:* LISTEN tcp 0 0 *:https *:* LISTEN tcp6 0 0 [::]:9010 [::]:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN udp 0 0 *:3478 *:* udp 0 0 *:3478 *:* udp 0 0 *:bootpc *:* udp 0 0 172.16.16.13:ntp *:* udp 0 0 localhost.localdoma:ntp *:* udp 0 0 *:ntp *:* udp6 0 0 [::]:ntp [::]:* Active UNIX domain sockets (only servers) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 13532 /var/lib/lxd/unix.socket unix 2 [ ACC ] STREAM LISTENING 19038 /run/user/500/systemd/private ```
只显示所有监听tcp端口 netstat -lt
???+ note "netstat -lt"
部分结果 ```sh title="只显示所有监听端口" $ netstat -lt Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:http *:* LISTEN tcp 0 0 *:3478 *:* LISTEN tcp 0 0 *:3478 *:* LISTEN tcp 0 0 *:ssh *:* LISTEN tcp 0 0 *:https *:* LISTEN tcp6 0 0 [::]:9010 [::]:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN ```
各属性介绍
各个属性(标题)含义是什么?
Proto 协议名
比如tcp,udp
Recv-Q 本地缓冲队列
表示本地缓冲中的数据,这些数据还没有被进程取走。
一般来说这里的值是0
Send-Q 发送缓存队列
对方还没收到数据,或者还没ack的数据,还在本地缓冲区中。
如果这里不能很快清零,可能是我方发送过快,或者对方接收太慢。
一般来说这里的值是0
Local Address 本地地址
0.0.0.0:80
表示监听本地服务器上所有ip的80端口(0.0.0.0表示所有ip)
:::9010
表示监听本地服务器上所有ip的9010端口。这里是IPv6地址。
:::
有3个冒号。前2个是0:0:0:0:0:0:0:0
的缩写。表示本地所有IPv6地址。
第三个冒号是IP和端口的分隔符号。
127.0.0.1:123
表示监听本机的loopback(回环地址)地址的123端口。
形如::1:9011
,表示监听IPv6的回环地址的9011端口。
Foreign Address 外部地址
与本地服务器通信的另外的地址,显示规则和上面本地地址的相同。
State 状态
网络链路的状态。常见 LISTEN,ESTABLISHED 等等
- LISTEN 打开监听后状态为LISTEN,等待其他机器前来连接
- ESTABLISHED 链接已建立,双方可以进行或正在数据交互
PID(Program)
进程id,表示使用这个连接的进程
扩展阅读
- Linux awk命令的使用,逐行处理文本,搜索统计单词个数
- find的使用,寻找特定文件
- grep 搜索字符串
- Shell for 循环语句
这篇关于Linux使用netstat查看网络状态的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南