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  伪装的连接

时间: 2024-10-10 04:26:24

netstat命令简单使用的相关文章

Linux下netstat命令简单操作

netstat -t :TCP协议 -u :UDP协议 -l :监听 -r :路由 -n :显示IP地址和端口号 常用: netstat -tlun 查看本机监听的端口 netstat -an 查看本机所有的网络连接 netstat -rn 查看本机路由表 DHCP 自动分配或者自动获取的服务 RedHat重启网络服务 service network restart Ubuntu重启网络服务 service network-manager restartUbuntu关闭网络服务 service

linux常用命令简单介绍(netstat,awk,top,tail,head,less,more,cat,nl)

1.netstat netstat -tnl | grep 443 (查看443端口是否被占用) root用户,用netstat -pnl | grep 443 (还可显示出占用本机443端口的进程PID). -a (all)显示所有选项,默认不显示LISTEN相关 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化成数字.直接使用IP地址,而不通过域名服务器. -l 仅列出有在 Listen (监听) 的服務状态 -p 显示建立

Linux_常用命令简单介绍(netstat,awk,top,tail,head,less,more,cat,nl)

1.netstat netstat -tnl | grep 443 (查看443端口是否被占用) root用户,用netstat -pnl | grep 443 (还可显示出占用本机443端口的进程PID). -a (all)显示所有选项,默认不显示LISTEN相关 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化成数字.直接使用IP地址,而不通过域名服务器. -l 仅列出有在 Listen (监听) 的服務状态 -p 显示建立

Linux awk命令简单操作

AWK Command: 一 : print print item1,item2,.......... 要点: 1.各项目之间使用逗号隔开,而输入时则以空白字符分隔 2.输出的item可以为字符串或树枝,当前记录的字段(如$1).变来那个或awk的表达式,树枝会转换成字符串 3.print命令后面的item可以省略,此时其功能相当于print $0,以此,如果想输出空白行,则需要print "" 例子: 1.awk 'BEGIN { pring "line one\n lin

ping tracert traceroute netstat命令详解

分享一下我老师大神的人工智能教程吧.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net 查看ubuntu运行状况的命令 1. route 查看和设置Linux系统的路由信息 2. ping:检测网络的连通性 例:ping 192.168.0.1 参数:-c 用来指定ping的回应次数 例: ping -c 4 192.168.0.1 指定回应次数为4次 3. traceroute用来分析网络拓扑 格式:tracerou

linux中netstat命令

netstat命令:查询网络状态 查看本机启用的端口: netstat  -an -tuln -a  查看所有的连接和监听端口 -n  显示IP地址和端口号,而不显示域名和服务名 -l  查看监听端口 -t  列出TCP协议端口,只有TCP有监听状态(listen) -u  列出UDP协议端口 netstat -an | grep ESTABLISHED  查看正在连接的ip    ,加 | wc 就可以显示连接数 netstat -rn  一般用来查看网关(最后一行第二个) route   -

Linux命令(33):netstat命令-显示网络端口信息

netstat命令 功能说明 netstat命令用来显示本机网络连接.运行端口和中由表等信息,用法如下: netstat [选项] 常用参数 选项 说明 -a 显示本机所有连接和监听端口 -n 以网络IP地址的形式显示当前建立的有效连接和端口 -r 显示路由表信息 -s 显示按协议的统计信息.默认情况下,将显示IP.IPV6.ICMP.ICMPv6.TCP.TCPv6.UDP和UDPv6的统计信息 -v 显示当前的有效连接,与"-n"选项类似 -t 显示所有的TCP协议连接情况 -u

Linux netstat命令详解

Linux netstat命令详解 简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等. 输出信息含义 执行netstat后,其输出结果为 Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address State

预编译命令简单解释(转载)

我的blog是用开源的BlogEngine来架设的,有的时候为了满足自己的需求及要对源代码做一些修改.在我调试客户端代码的时候,不管是使用Firebug或者是Vs 2008来调试,看到的Javascript代码都是经过动态压缩过了的,这个系统有一个HttpHanddle是专门用来处理js文件请求的,在第一次请求的时候会对js代码进行压缩,去掉了注释换行符等不必要的字符,这样可以提高访问的速度,但是对调试非常的不利,相信我们谁都不愿意对着一堆压缩过了的JS代码做调试.于是我想到了C#的预编译指令,