zoukankan      html  css  js  c++  java
  • 【linux】netstat 详解

     Linux netstat命令用于显示网络状态。

    利用netstat指令可让你得知整个Linux系统的网络情况。

    在Internet RFC标准中,Netstat的定义是: Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
    Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCPUDPICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
    如果你的计算机有时候接收到的数据包导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据包。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。
    一般用netstat -an 来显示所有连接的端口并用数字表示。
    netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。 [1]  使用时如果不带参数,netstat显示活动的 TCP 连接。
     
     

    从整体上看,netstat的输出结果可以分为两个部分:

    一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

    另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。

    Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名

    unix套接域
    -t :TCP
    
    -u :UDP
    
    -raw :RAW类型
    
    --unix :UNIX域类型
    
    --ax25 :AX25类型
    
    --ipx :ipx类型
    
    --netrom :netrom类型
     
    状态说明
    LISTEN:侦听来自远方的TCP端口的连接请求
    
    SYN-SENT:再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了)
    
    SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了)
    
    ESTABLISHED:代表一个打开的连接
    
    FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
    
    FIN-WAIT-2:从远程TCP等待连接中断请求
    
    CLOSE-WAIT:等待从本地用户发来的连接中断请求
    
    CLOSING:等待远程TCP对连接中断的确认
    
    LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被攻击)
    
    TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认
    
    CLOSED:没有任何连接状态
    

      

    显示网卡列表

    netstat –i
    

    显示组播关系

    netstat –g
    

     

    显示网络统计

    说明: l:listening   n:num   t:tcp  u:udp  p:process

    netstat -lntup 
    

      

    说明:
    用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)
    netstat –e
    

     

    统计机器中网络连接各个状态个数

    netstat -an | awk '/^tcp/ {++S[$NF]}  END {for (a in S) print a,S[a]} '
    

      

     把状态全都取出来后使用uniq -c统计后再进行排序

    netstat -ant|grep "192.168.23.*"|awk '{print $5}'|awk -F: '{print $1}'|sort -nr|uniq –c
    

    查看连接某服务端口最多的的IP地址

     netstat -ant|grep "192.168.23.*"|awk '{print $5}'|awk -F: '{print $1}'|sort -nr|uniq -c
    

    找出程序运行的端口

    netstat -ap | grep ssh

    在 netstat 输出中显示 TCP连接信息

    netstat -pt  

      

     

     

     
     
     
     
     
     
     

    netstat -nlupt

  • 相关阅读:
    POJ 3253 Fence Repair
    POJ 2431 Expedition
    NYOJ 269 VF
    NYOJ 456 邮票分你一半
    划分数问题 DP
    HDU 1253 胜利大逃亡
    NYOJ 294 Bot Trust
    NYOJ 36 最长公共子序列
    HDU 1555 How many days?
    01背包 (大数据)
  • 原文地址:https://www.cnblogs.com/chenxiaomeng/p/9413208.html
Copyright © 2011-2022 走看看