zoukankan      html  css  js  c++  java
  • netstat

    简介

      在Internet RFC标准中,Netstat的定义是: Netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。

      Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

      如果你的计算机有时候接收到的数据包导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据包。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。

      一般用netstat -an 来显示所有连接的端口并用数字表示。

    netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。使用时如果不带参数,netstat显示活动的 TCP 连接

    该命令的一般格式为 :

    netstat [-a][-e][-n][-o][-p Protocol][-r][-s][Interval]

     

    输出信息

    执行netstat后,其输出结果为

    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State
    tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED
    tcp 296 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED
    tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED
    tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED
    tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE
    
    Active UNIX domain sockets (w/o servers)
    Proto RefCnt Flags Type State I-Node Path
    unix 1 [ ] STREAM CONNECTED 16178 @000000dd
    unix 1 [ ] STREAM CONNECTED 16176 @000000dc
    unix 9 [ ] DGRAM 5292 /dev/log
    unix 1 [ ] STREAM CONNECTED 16182 @000000df

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

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

    另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。 Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。

    选项

    命令中各选项的含义如下:

    -a(all) 显示所有socket,包括正在监听的。   

    -c 每隔1秒就重新显示一遍,直到用户中断它。   

    -i 显示所有网络接口的信息,格式“netstat -i”。   

    -n 以网络IP地址代替名称,显示出网络连接情形。   

    -r 显示核心路由表,格式同“route -e”。   

    -t(TCP) 显示TCP协议的连接情况   

    -u(UDP)显示UDP协议的连接情况。   

    -v 显示正在进行的工作。   

    -p 显示指定协议信息。   

    -b 显示在创建每个连接或侦听端口时涉及的可执行程序。   

    -e 显示以太网统计。此选项可以与 -s 选项结合使用。   

    -f 显示外部地址的完全限定域名(FQDN)。   

    -o 显示拥有的与每个连接关联的进程 ID。   

    -s 显示每个协议的统计。   

    -x 显示 NetworkDirect 连接、侦听器和共享端点。   

    -y 显示所有连接的 TCP 连接模板。无法与其他选项结合使用。   

    interval 重新显示选定的统计,各个显示间暂停的 间隔秒数。按 CTRL+C 停止重新显示统计。如果省略,则 netstat 将打印当前的配置信息一次。

     

    常用选项

    netstat -s

    ——本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。

    netstat -e

    ——本选项用于显示关于以太网的统计数据,它列出的项目包括传送数据报的总字节数、错误数、删除数,包括发送和接收量(如发送和接收的字节数、数据包数[1] ),或有广播的数量。可以用来统计一些基本的网络流量。

    netstat -r

    ——本选项可以显示关于路由表的信息,类似于后面所讲使用routeprint命令时看到的信息。除了显示有效路由外,还显示当前有效的连接。

    netstat -a

    ——本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。

    netstat -n

    ——显示所有已建立的有效连接。[3] 

    netstat -p

    ——显示协议名查看某协议使用情况

     

    常见状态

    即连接状态。在原模式中没有状态,在用户数据报协议中也经常没有状态,于是状态列可以空出来。若有状态,通常取值为:[4] 

    LISTEN                :侦听来自远方的TCP端口的连接请求

    SYN-SENT            :在发送连接请求后等待匹配的连接请求

    SYN-RECEIVED     :在收到和发送一个连接请求后等待对方对连接请求的确认

    ESTABLISHED       :代表一个打开的连接

    FIN-WAIT-1          :等待远程TCP连接中断请求,或先前的连接中断请求的确认

    FIN-WAIT-2          :从远程TCP等待连接中断请求

    CLOSE-WAIT         :等待从本地用户发来的连接中断请求

    CLOSING              :等待远程TCP对连接中断的确认

    LAST-ACK             :等待原来的发向远程TCP的连接中断请求的确认

    TIME-WAIT           :等待足够的时间以确保远程TCP接收到连接中断请求的确认

    CLOSED                :没有任何连接状态

    注意:LISTEN和LISTENING的状态只有用-a或者-l才能看到

     

    查看端口是否被占用:

    netstat -anp | grep port

     lsof -i:port

     

    查看端口被那个进程占用:

    netstat -anp | grep port

    或使用 lsof -i:port

    显示结果的有进程id

    ps -ef | grep pid即可

     

    查看进程(如java进程)使用的端口:

    ps -aux | grep java

    找到pid

    lsof -i | grep pid

    或使用netstat -anp | grep pid即可

      

    参考资料:

    http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html

  • 相关阅读:
    The Snail
    Oil Deposits
    杭电3784(继续xxx定律)
    poj 2395 Out of Hay
    poj 2485 Highways(简单题)
    poj 2560 || 杭电1162
    Rescue
    “中国芯”能抗衡英特尔吗?
    2013,中国计算巨头放眼国际市场
    123063天两度瘫痪:为啥不在淘宝上卖火车票?
  • 原文地址:https://www.cnblogs.com/1024incn/p/3915447.html
Copyright © 2011-2022 走看看