Linux之netstat命令

142 阅读1分钟

netstat 可以用来打印网络连接、路由表、连接的数据统计、查看后台服务进程的相关状态等。

netstat 命令,对应的选项比较多,功能比较强大,下面列举常用的选项。

  • 打印所有连接

    [root@javapoet ~]# netstat -a
    
  • 打印 TCP 或 UDP 连接

    [root@javapoet ~]# netstat -t    // 列出 TCP 协议的连接
    [root@javapoet ~]# netstat -u    // 列出 UDP 协议的连接
    
  • 禁用反向域名解析

    直接使用IP地址,而不通过域名服务器。禁用域名解析功能,加快查找速度。

    [root@javapoet ~]# netstat -n
    
  • 显示对应的程序识别码和程序名称

    [root@javapoet ~]# netstat -p
    
  • 打印监听中的连接

    [root@javapoet ~]# netstat -l
    
  • 打印网络工作信息统计表,查看进程信息

    [root@javapoet ~]# netstat -s
    
  • 打印网络接口

    [root@javapoet ~]# netstat -i
    
  • 持续输出信息

    [root@javapoet ~]# netstat -c
    
  • 根据进程pid查端口

    利用 grep 命令过滤查询进程

    [root@javapoet ~]# netstat -nap|grep pid
    [root@javapoet ~]# netstat -nap|grep 端口
    
  • 统计网络socket状态

    借助 awk 命令,统计socket状态对应的个数。

    [root@javapoet ~]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'