linux命令_netstat

netstat是一个控制台命令,可用于监控本机的TCP/IP网络,获得路由表、网络连接以及所有网络接口设备的状态信息。一般情况下,我们主要使用netstat命令显示与IP、TCP、UDP和ICMP协议相关的统计数据,检验本机各端口的网络连接情况。

比如说,在日常使用电脑时,如果连接到了网络,或多或少的会因接收到的数据包导致出错数据或故障,在正常量的情况下,TCP/IP可以容许这些类型的错误,并且能够自动重新发送数据包。但是如果累计的出错情况数占所接收IP数据报的百分比过大,而且数目还在不断增加,那么我们就要进入控制台,使用netstat命令查看一下出现问题的连接端口。

netstat结果详解

[root@honey-master ~] netstat
Active UNIX domain sockets (w/o servers)                                                            |
Proto RefCnt Flags       Type       State         I-Node   Path                                     |
unix  3      [ ]         DGRAM                    1703     /run/systemd/notify                      |
unix  2      [ ]         DGRAM                    1705     /run/systemd/cgroups-agent               |
...                                                                                                 |
unix  3      [ ]         STREAM     CONNECTED     29975    /run/systemd/journal/stdout              |
unix  3      [ ]         STREAM     CONNECTED     1543565  /var/run/docker.sock                     |
unix  3      [ ]         STREAM     CONNECTED     323733                                            |
unix  3      [ ]         STREAM     CONNECTED     189654                                            |
lo              1      all-systems.mcast.net
ens33           1      all-systems.mcast.net
docker0         1      all-systems.mcast.net
lo              1      ff01::1
ens33           1      ff02::1
ens33           1      ff01::1
docker0         1      ff02::1

linux命令_netstat
* 查看服务是否在运行
[root@honeypot ~]# netstat -aple | grep nginx
tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN      root       42158      3359/nginx: master
tcp        0      0 0.0.0.0:81              0.0.0.0:*               LISTEN      root       42160      3359/nginx: master
tcp        0      0 0.0.0.0:https           0.0.0.0:*               LISTEN      root       42159      3359/nginx: master
tcp        0      0 honeypot:https          10.0.80.6:46770         ESTABLISHED nginx      1406865    3360/nginx: worker

说明nginx正在运行,但如果关闭掉redis服务,状态都变成了关闭或者等待关闭

[root@honeypot ~] netstat -aple | grep redis
tcp        1      0 honeypot:41338          honeypot:redis          CLOSE_WAIT  root       73035      8683/python3
tcp        1      0 honeypot:32926          honeypot:redis          CLOSE_WAIT  root       1467648    159493/python3
tcp        0      0 honeypot:redis          honeypot:41332          FIN_WAIT2   root       0          -
tcp        1      0 honeypot:41376          honeypot:redis          CLOSE_WAIT  root       73107      8822/python3
tcp        0      0 localhost:redis         localhost:47240         TIME_WAIT   root       0          -

组合命令

  • 查看TCP连接状态
[root@honeypot ~]# netstat -nat |awk '{print $6}' |sort|uniq -c|sort -rn
    174 ESTABLISHED
     35 TIME_WAIT
     31 LISTEN
     26 CLOSE_WAIT
      1 established)
      1 Foreign
  • 查找请求数请20个IP
[root@honeypot ~]# netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20
先把状态全都取出来,然后使用uniq -c统计,之后再进行排序。
     15 127.0.0.1
      4 10.0.81.29
      3 10.0.81.35
      3 10.0.80.6
      2 0.0.0.0
      1
  • 查看连接某服务端口最多的的IP地址
[root@honeypot ~]# netstat -nat | grep "10.0.81.29:22" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -20
      1 10.0.91.13

Original: https://www.cnblogs.com/ivanlee717/p/16298654.html
Author: ivanlee717
Title: linux命令_netstat

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/523535/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球