Netstat:在Internet RFC标准中,[ Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。]
Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它[ 可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。] Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
一般用netstat -an 来显示所有连接的端口并用数字表示。
netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。 [1] 使用时如果不带参数,netstat显示活动的 TCP 连接。
该命令的一般格式为 :
netstat [-a][-e][-n][-o][-p Protocol][-r][-s][Interval] [1]
命令中各选项的含义如下:
-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式“netstat -i”。
-n以网络IP地址代替名称,显示出网络连接情形。
-r显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况
-u 显示UDP协议的连接情况。
-v显示正在进行的工作。
-p 显示建立相关连接的程序名和PID。
-b 显示在创建每个连接或侦听端口时涉及的可执行程序。
-e 显示以太网统计。此选项可以与 -s 选项结合使用。
-f 显示外部地址的完全限定域名(FQDN)。
-o显示与与网络计时器相关的信息。
-s 显示每个协议的统计。
-x 显示 NetworkDirect 连接、侦听器和共享端点。
-y 显示所有连接的 TCP 连接模板。无法与其他选项结合使用。
interval 重新显示选定的统计,各个显示间暂停的 间隔秒数。按 CTRL+C 停止重新显示统计。如果省略,则 netstat 将打印当前的配置信息一次。
Name接口的名字
Mtu 接口的最大传输单位
Net/Dest 接口所在的网络
Address 接口的IP地址
Ipkts 接收到的数据包数目
Ierrs 接收到时已损坏的数据包数目
Opkts 发送的数据包数目
Oeers 发送时已损坏的数据包数目
Collisions 由这个接口所记录的网络冲突数目
netstat -a
本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。
netstat -b
该参数可显示在创建网络连接和侦听端口时所涉及的可执行程序。
netstat -s
本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。
netstat -e
本选项用于显示关于以太网的统计数据,它列出的项目包括传送数据报的总字节数、错误数、删除数,包括发送和接收量(如发送和接收的字节数、数据包数 [1] ),或有广播的数量。可以用来统计一些基本的网络流量。
netstat -r
本选项可以显示关于路由表的信息,类似于后面所讲使用routeprint命令时看到的信息。除了显示有效路由外,还显示当前有效的连接。
netstat -n
显示所有已建立的有效连接。
netstat -p
显示协议名查看某协议使用情况
即连接状态。在原模式中没有状态,在用户数据报协议中也经常没有状态,于是状态列可以空出来。若有状态,通常取值为:
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
没有任何连接状态
例子1:使用命令提示符查询用法
netstat /?
例子2:显示所有连接和侦听端口。
netstat -a
我们拿其中一行来解释吧:
协议(Proto):TCP,指是传输控制协议。
本地地址(Local Address):Eagle,俗称计算机名,安装系统时设置的,可以在“我的电脑”属性中修改,本地打开并用于连接的端口:2929)
外部地址(Foreign Address):111.30.144.104:8080
远程端口:8080
状态:ESTABLISHED(已建立联机的联机情况)
例子3:以数字形式显示地址和端口号。
netstat -n
注意:-a 和-n是最常用的两个,据我不完全测试得出以下结果:
1. -n 显示用数字化主机名,即IP地址,而不是compute_name【eagle】
2. -n 只显示TCP连接
得到IP等于得到一切,它是最容易使机器受到攻击的东西,所以隐藏自己IP,获得别人的IP对hacker来说非常重要.
例子4:显示以太网统计信息。此选项可以与 -s 选项结合使用。
netstat -e
参考资料:
1. Netstat_百度百科 https://baike.baidu.com/item/Netstat/527020?fr=aladdin
2. Netstat-百度经验 https://jingyan.baidu.com/article/dca1fa6f1cc9acf1a540524d.html