zoukankan      html  css  js  c++  java
  • linux netstat 查看端口

     

    1. netstat命令用于显示系统的网络信息,包括网络连接 、路由表 、接口状态
    2. 一般我们使用 netstat 来查看本机开启了哪些端口,查看有哪些客户端连接

    [root@localhost ~]# yum install -y net-tools  // 安装 netstat 命令        

     常用:

    常用
    [root@localhost ~]# netstat -tunpl          
    [root@localhost ~]# netstat -lnpt             
    [root@localhost ~]# netstat -an       
    
    [root@localhost ~]$ netstat -anp      // 查看所有协议的连接
    [root@localhost ~]$ netstat -tunlp    // 查看开启的进程和端口
    统计每个IP的连接数
    [root@MongoDB ~]# netstat -n |awk '/^tcp/ {print $5}'|awk -F ':' '{print $1}'|head|sort -n |uniq -c |sort -rn  
          1 192.168.0.106
    
    
     统计每个连接状态的数量(主要看ESTABLISHED状态的连接,这种状态表示正在与服务器通信)
    [root@MongoDB ~]# netstat -nat|awk '/^tcp/ {print $NF}'|sort -n |uniq -c
         77 ESTABLISHED
          2 FIN_WAIT1
          9 LISTEN
          1 SYN_SENT
        536 TIME_WAIT
    
    
    
    

    命令参数:

    -r        // 显示路由表
    -p        // 显示进程ID和程序名
    -s        // 显示每个协议的统计信息
    -t        // 显示使用TCP协议端口的连接
    -u        // 显示使用UDP协议端口的连接
    -l        // 仅显示监听(listen)状态的连接
    -i        // 显示网络接口列表,也就是网卡列表
    -a        // 显示所有协议的连接,如:TCP、UDP、UNIX、IP、ICMP
    -n        // 以数字形式显示主机名,如localhost显示成127.0.0.1
    -c        // 指定每隔几秒刷新一次网络状态,如 netstat -c 3 表示每隔3秒执行一次netstat命令
    [root@MongoDB ~]# netstat -tunpl
    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:22              0.0.0.0:*               LISTEN      6709/sshd           
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      6799/master         
    tcp6       0      0 :::22                   :::*                    LISTEN      6709/sshd           
    tcp6       0      0 ::1:25                  :::*                    LISTEN      6799/mas
    
    // Proto:网络连接的协议,一般是tcp和udp
    // Recv-Q:表示接收到的数据,已经在本地的缓冲中,但是还没有被进程取走
    // Send-Q:表示从本机发送,对方还没有收到的数据,依然在本地的缓冲中,不具备ACK标志的数据包
    // Local Address:表示本机监听的IP地址和端口号
    // Foreign Address:表示要连接的远程主机IP地址和端口号
    // State:连接状态,常见的状态如下
    // - LISTEN:监听状态,只有TCP协议需要监听,UDP协议不需要监听
    // - ESTABLISHED:已经建立连接的状态
    // - SYN_SENT:主动发起连接的数据包
    // - SYN_RECV:接收到主动建立连接的数据包
    // - FIN_WAIT1:正在中断的连接
    // - FIN_WAIT2:已经中断的连接,但是正在等待对方主机进行确认
    // - TIME_WAIT:一个刚被终止的连接,它只持续1至2分钟,然后就会变成LISTEN状态
    // - CLOSED:套接字没有被使用
    // PID/Program name:进程ID和程序名
    [root@MongoDB ~]# netstat -n
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0     52 192.168.0.104:22        192.168.0.106:57376     ESTABLISHED
    Active UNIX domain sockets (w/o servers)
    Proto RefCnt Flags       Type       State         I-Node   Path
    unix  2      [ ]         DGRAM                    21335    /run/systemd/shutdownd
    unix  3      [ ]         DGRAM                    9694     /run/systemd/notify
    unix  2      [ ]         DGRAM                    9696     /run/systemd/cgroups-agent
    unix  5      [ ]         DGRAM                    9708     /run/systemd/journal/socket
    unix  13     [ ]         DGRAM                    9710     /dev/log
  • 相关阅读:
    Nginx 学习笔记(一)如何配置一个安全的HTTPS网站服务器
    Ubuntu(16.04.2)学习笔记(一)如何解决dpkg: error processing install-info
    Linux 命令详解(八)Systemd 入门教程:实战篇
    Linux 命令详解(七)Systemd 入门教程:命令篇
    Linux 命令详解(六)Linux 守护进程的启动方法
    PHP7 学习笔记(四)PHP PSR-4 Autoloader 自动加载
    PHP7 学习笔记(三)关于PHP7如何安装调试工具Xdebug扩展以及Zephir的问题
    WorkerMan 入门学习之(三)基础教程-Timer类的使用
    WorkerMan 入门学习之(二)基础教程-Connection类的使用
    数字证书相关知识结构PKI/PMI基本概念、组成部分、工作原理
  • 原文地址:https://www.cnblogs.com/mingerlcm/p/8023632.html
Copyright © 2011-2022 走看看