后台开发,netstat命令总是绕不过,不仅工作中经常用过,面试也是考的多。netstat命令,对应的选项比较多,功能比较强大。netstat 常用来查看,后台服务进程的相关状态。
netstat 可以用来打印网络连接、路由表、连接的数据统计。下面我们来学习一下。
打印所有连接
使用 -a,列出所有连接。
[root@VM-16-9-centos ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 VM-16-9-centos:49326 169.254.0.55:lsi-bobcat ESTABLISHED
tcp 0 52 VM-16-9-centos:ssh 119.137.1.7:20029 ESTABLISHED
tcp 0 0 VM-16-9-centos:ssh 113.110.224.255:63626 ESTABLISHED
tcp6 0 0 [::]:mysql [::]:* LISTEN
udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
udp 0 0 VM-16-9-centos:ntp 0.0.0.0:*
udp 0 0 VM-16-9-centos:ntp 0.0.0.0:*
udp 0 0 0.0.0.0:38064 0.0.0.0:*
udp6 0 0 VM-16-9-centos:ntp [::]:*
udp6 0 0 VM-16-9-centos:ntp [::]:*
打印 TCP 或 UDP 连接
使用 -t 选项列出 TCP 协议的连接。
[root@VM-16-9-centos ~]# netstat -t
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 VM-16-9-centos:49326 169.254.0.55:lsi-bobcat ESTABLISHED
tcp 0 52 VM-16-9-centos:ssh 119.137.1.7:20029 ESTABLISHED
tcp 0 0 VM-16-9-centos:ssh 113.110.224.255:63626 ESTABLISHED
tcp 0 0 VM-16-9-centos:ssh vps-d395feee.vps.:39128 ESTABLISHED
使用 -u 选项列出 UDP 协议的连接。
[root@VM-16-9-centos ~]# netstat -u
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
禁用反向域名解析
使用 -n 选项禁用域名解析功能,这样可以加快查找速度。
[root@VM-16-9-centos ~]# netstat -n
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 172.17.16.9:49326 169.254.0.55:5574 ESTABLISHED
tcp 0 52 172.17.16.9:22 119.137.1.7:20029 ESTABLISHED
tcp 0 0 172.17.16.9:22 113.110.224.255:63626 ESTABLISHED
tcp 0 0 172.17.16.9:52236 169.254.0.4:80 TIME_WAIT
显示对应的程序识别码和程序名称
使用 -p 选项列出正在监听的套接字。
[root@VM-16-9-centos ~]# netstat -p
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 VM-16-9-centos:49326 169.254.0.55:lsi-bobcat ESTABLISHED 1400/YDService
tcp 0 52 VM-16-9-centos:ssh 119.137.1.7:20029 ESTABLISHED 22131/sshd: root@pt
tcp 0 0 VM-16-9-centos:ssh host-188-14-121-2:55529 TIME_WAIT -
tcp 0 0 VM-16-9-centos:ssh 113.110.224.255:63626 ESTABLISHED 32201/sshd: root@pt
打印监听中的连接
使用 -l 选项列出正在监听的套接字。
[root@VM-16-9-centos ~]# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp6 0 0 [::]:mysql [::]:* LISTEN
udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
打印连接进程信息
使用 -p 选项查看进程信息。
[root@VM-16-9-centos ~]# netstat -p
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 VM-16-9-centos:49326 169.254.0.55:lsi-bobcat ESTABLISHED 1400/YDService
tcp 0 0 VM-16-9-centos:48680 169.254.0.55:webcache TIME_WAIT -
tcp 0 52 VM-16-9-centos:ssh 119.137.1.7:20029 ESTABLISHED 22131/sshd: root@pt
tcp 0 0 VM-16-9-centos:ssh 113.110.224.255:63626 ESTABLISHED 32201/sshd: root@pt
tcp 0 0 VM-16-9-centos:ssh host-188-14-121-2:56025 ESTABLISHED 10384/sshd: unknown
打印网络工作信息统计表
使用 -s 选项查看进程信息(只展示部分结果)。
[root@VM-16-9-centos ~]# netstat -s
Ip:
7502855 total packets received
0 forwarded
0 incoming packets discarded
7502837 incoming packets delivered
7624338 requests sent out
40 dropped because of missing route
Icmp:
938052 ICMP messages received
147 input ICMP message failed.
ICMP input histogram:
destination unreachable: 411
timeout in transit: 8
redirects: 2
echo requests: 937623
echo replies: 7
timestamp request: 1
946258 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 8634
echo replies: 937623
timestamp replies: 1
打印网络接口
使用 -i 选项查看进程信息。
[root@VM-16-9-centos ~]# netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 7825094 0 0 0 7712988 0 0 0 BMRU
lo 65536 10230 0 0 0 10230 0 0 0 LRU
持续输出信息
使用 -c 选项查看进程信息。
[root@VM-16-9-centos ~]# netstat -c
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 VM-16-9-centos:49326 169.254.0.55:lsi-bobcat ESTABLISHED
tcp 0 52 VM-16-9-centos:ssh 119.137.1.7:20029 ESTABLISHED
tcp 0 0 VM-16-9-centos:ssh vps-d395feee.vps.:39442 ESTABLISHED
tcp 0 0 VM-16-9-centos:ssh 113.110.224.255:63626 ESTABLISHED
tcp 0 0 VM-16-9-centos:52660 169.254.0.4:http TIME_WAIT
tcp 0 0 VM-16-9-centos:ssh b3d278e1.virtua.c:35113 TIME_WAIT
tcp 0 0 VM-16-9-centos:ssh 58.230.147.230:56693 TIME_WAIT
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 3 [ ] DGRAM 7444 /run/systemd/notify
根据进程pid查端口
利用 grep 命令,通过进程 pid 查出监听端口。
[root@VM-16-9-centos test]# netstat -nap|grep 12178
tcp6 0 0 :::8888 :::* LISTEN 12178/gin
根据端口查进程
利用 grep 命令,通过监听端口查出进程 pid 。
[root@VM-16-9-centos test]# netstat -nap|grep 8888
tcp6 0 0 :::8888 :::* LISTEN 12178/gin
统计网络socket状态
借助 awk 命令,统计socket状态对应的个数。
[test]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
ESTABLISHED 5
TIME_WAIT 2
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
数据
+关注
关注
8文章
6025浏览量
86820 -
开发
+关注
关注
0文章
323浏览量
40407 -
命令
+关注
关注
5文章
529浏览量
21720 -
netstat
+关注
关注
0文章
8浏览量
2029
发布评论请先 登录
相关推荐
netstat命令详解
中,Netstat的定义是: Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具。
netstat怎么使用
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
netstat查看端口占用
Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
Linux实现前后台切换的命令
后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)。
示波器的使用方法(三):示波器的使用方法详解
使用方法并非很难,重点在于正确使用示波器的使用方法。往期文章中,小编对模拟示波器的使用方法和数字示波器的使用方法均有所介绍。为增进大家对示波器的使用方法的认识,本文将再次对示波器的使用方法详加介绍
Linux中iconv命令的简介和使用方法
命令简介 iconv命令是用来转换文件的编码方式,比如它可以将UTF8编码的转换成GB18030的编码。Linux下的iconv开发库包括iconv_open,iconv_close,iconv
探究Go语言如何实现简易版netstat命令
netstat 使用 go 语言实现是什么操作?本文从 netstat 原理出发详细解读了这一实践。 netstat 工作原理 netstat 命令是 linux 系统中查看网络情况的一个命令。比如
Netstat 命令实例介绍
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
Linux netstat命令详解
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
发表于 12-26 09:45
•440次阅读
netstat命令故障排查总结
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
评论