zoukankan      html  css  js  c++  java
  • netstat命令简单使用

    1.适用范围

    该命令用于打印网络连接、路由表、接口统计、伪装连接、多播成员等信息。

    (netstat已经过时,现在使用ss命令,所以本文不会作过多翻译,只着重一些重要部分)

    2.语法概览

    netstat      现在使用ss
    netstat -r   现在使用ip route
    netstat -i   现在使用ip -s link
    netstat -g   现在使用ip maddr

    打印的信息类型由第一个参数决定:

    netstat                    如果不加任何参数,该命令会打印一个已打开的套接字列表
    netstat -r                   打印内核路由表
    netstat -g                   打印IPv4和IPv6的多播组成员信息
    netstat -i                   打印所有网络接口
    netstat --interfaces=iface    打印指定接口的信息
    netstat -I=iface              打印指定接口的信息
    netstat -M                    打印伪装连接的列表
    netstat -s                    打印每个协议的总结性的统计信息

    命令选项

    --verbose, -v     通过详细说明,告诉用户发生了什么。特别是打印一些关于已配置的地址家族的信息。
    --numeric, -n     使用数字地址,而不是符号主机、端口或用户名。
    --numeric-hosts    显示数字的主机,但是不会影响端口和用户名的解析。
    --numeric-ports    显示数字的端口,但是不会影响主机和用户名的解析。
    --numeric-users    显示数字的用户ID,但是不会影响主机和用户名的解析。
    --protocol=family, -A  指定显示哪些地址族的连接,地址族有:inet,inet6,unix,ipx,ax25,netrom,ddp。
                  或者以选项的方式使用,--inet,--inet6,--unix,--ipx,--ax25,--netrom,--ddp。
                  inet地址族包含raw,udp,tcp协议套接字。
    -c, --continuous      持续性地打印选择的信息,每秒一次。 -e, --extend        显示额外的信息。使用两个e表示显示最详细的信息。 -o, --timers        打印与网络定时器相关的信息。 -p, --program        打印每个套接字对应的程序的PID和名字。 -l, --listening      只打印监听套接字。 -a, --all          打印所有监听套接字和非监听套接字(对于TCP而言,非监听套接字指的是ESTABLISHED状态的连接)。
    -F              从FIB打印路由信息。 -C              从路由缓存打印路由信息。 -Z              如果开启了SELinux,表示打印SELinux context。 -T              停止整理长地址。 delay            每隔多久打印一次数据。

    3.输出格式

    Active Internet connections:TCP,UDP,raw。

    Proto:套接字使用的协议。(tcp,udp,raw)

    Recv-Q:

    Send-Q:

    Local Address:如果没有使用-n选项,就是以FQDN显示的主机名,以服务名显示的端口。

    Foreign Address:远端主机地址和端口。

    State:套接字的状态。在raw模式下,没有状态,所有会留空;在UDP模式下,经常没有使用,所以也会留空。

      ESTABLISHED:这个套接字已经建立了一个连接。

      SYN_SENT:这个套接字正积极尝试去建立一个连接。

      SYN_RECV:本地端已经接受到了网络上连接请求。

      FIN_WAIT1:套接字已经关闭,同时这个连接正处于关闭中。

      FIN_WAIT2:连接已经关闭,套接字正等待客户端的关闭。

      TIME_WAIT:

      CLOSED:这个套接字没有处于使用中。

      CLOSE_WAIT:远端已经关闭,等待本地端去关闭套接字。

      LAST_ACK:远端已经关闭,套接字也已经关闭。就等着确认了。

      LISTEN:套接字正等待incoming connections。

      CLOSING:两边都在关闭中,但是我们的数据还没有发送完。

      UNKNOWN:套接字的状态不知道。

    User:套接字所属的用户名或UID。

    PID/Program name:进程ID和程序名。

    Timer:

    Active UNIX domain Sockets

    Proto:套接字使用的协议。

    RefCnt:引用计数。比如,附加在这个套接字上的进程数。

    Flags:可以是ACC(SO_ACCEPTON),W(SO_WAITDATA),N(SO_NOSPACE)。

    Type:有多种套接字接入。

      SOCK_DGRAM:该套接字用于数据报(无需连接)模式。

      SOCK_STREAM:这是一个流套接字(需要连接)。

      SOCK_RAW:作为raw套接字使用。

      SOCK_RDM:这个套接字服务于高可靠传输的消息。

      SOCK_SEQPACKET:这是一个序列化的数据包套接字。

      SOCK_PACKET:原始接口访问套接字。

      UNKNOWN:谁知道将来会有什么,先占掉这里的位置。

    State: 

      FREE:这个套接字没有被分配出去。

      LISTENING:这个套接字正在监听一个外面的连接请求。

      CONNECTING:这个套接字即将要建立一个连接。

      CONNECTED:套接字连接上了。

      DISCONNECTING:套接字正在断开中。

      empty:这个套接字没有连接到另一端。

      UNKNOWN:未知字段。

    PID/Program name:

    Path:程序对应的路径。

    Active IPX sockets:

    Active NET/ROM sockets:

    Active AX.25 sockets:

    附加文件:

    /etc/services  服务和端口对应的文件

    /proc/net/dev  网络设备信息

    /proc/net/raw  raw套接字信息

    /proc/net/tcp  tcp套接字信息

    /proc/net/udp   udp套接字信息

    /proc/net/igmp IGMP多播信息

    /proc/net/unix  UNIX domain套接字信息

    /proc/net/ipx  IPX套接字信息

    /proc/net/ax25  AX25套接字信息

    /proc/net/appletalk  DDP套接字信息

    /proc/net/nr  NET/ROW套接字信息

    /proc/net/route  IP路由信息

    /proc/net/ip_masquerade  伪装的连接

  • 相关阅读:
    前端websocket连接mqtt不能使用1883端口的问题
    关于aws-Lambda的cron周期性计划任务-表达式的定义方式
    千古奇文-寒窑赋/破窑赋-命运赋-吕蒙正
    关于Linux下aws-cli-2版本的安装
    关于WinSCP如何通过Tunnel隧道进行远程连接-进行文件的传输
    python函数-strip&lstrip&rstrip字符串处理函数
    关于计算机或编程中-时间及各单位换算的的方法记录
    python中print函数的使用小技术-使用分隔符和行尾符
    关于pwd命令小技巧-确认当前工作目录的绝对路径中是否包含软链接目录名
    关于Linux-Redhat-7.x系统不能创建纯数字用户名的原因及临时解决方法
  • 原文地址:https://www.cnblogs.com/t-road/p/6780541.html
Copyright © 2011-2022 走看看