网络基础----------认识netstat工具

netstat的作用

netstat是一个用来查询网络状态的重要工具,是一个控制台命令,是一个监控TCP/IP网络中非常有用的 工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。可以让用户知道哪些网络连接正在运作,使用的时候如果不带参数,netstat用来显示活动的TCP连接。netstat用于显示IP、TCP、UDP和CMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

处理的情况

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

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

该命令的一般格式为 :
netstat [-a][-e][-n][-o][-p Protocol][-r][-s][Interval]

-a或–all:显示所有连线中的Socket;
-A<网络类型>或–<网络类型>:列出该网络类型连线中的相关地址;
-c或–continuous:持续列出网络状态(每隔一秒输出网络信息)
-C或–cache:显示路由器配置的快取信息;
-e或–extend:显示网络其他相关信息;
-F或–fib:显示FIB;
-g或–groups:显示多重广播功能群组组员名单;
-h或–help:在线帮助;
-i或–interfaces:显示网络界面信息表单;
-l或–listening:显示监控中的服务器的Socket;
-M或–masquerade:显示伪装的网络连线;
-n或–numeric:直接使用ip地址,而不通过域名服务器;
-N或–netlink或–symbolic:显示网络硬件外围设备的符号连接名称;
-o或–timers:显示计时器;
-p或–programs:显示正在使用Socket的程序识别码和程序名称;
-r或–route:显示Routing Table;
-s或–statistice:显示网络工作信息统计表;
-t或–tcp:显示TCP传输协议的连线状况;
-u或–udp:显示UDP传输协议的连线状况;
-v或–verbose:显示指令执行过程;
-V或–version:显示版本信息;
-w或–raw:显示RAW传输协议的连线状况;
-x或–unix:此参数的效果和指定”-A unix”参数相同;
–ip或–inet:此参数的效果和指定”-A inet”参数相同。

常用


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


netstat -b
该参数可显示在创建网络连接和侦听端口时所涉及的可执行程序。


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


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


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


netstat -n
显示所有已建立的有效连接。 [2] netstat -p ——显示协议名查看某协议使用情况


netstat -i
显示网络接口列表

netstat -an | grep ':80'
找出运行在指定端口的进程:


netstat -ap | grep ssh
找出程序运行的端口
并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。


netstat -pt
在netstat输出中显示 PID 和进程名称
netstat -p可以与其它开关一起使用,就可以添加“PID/进程名称”到netstat输出中,这样debugging的时候可以很方便的发现特定端口运行的程序。
列出所有端口(包括监听与未监听)

特殊的应用

列出所有的端口(包括监听与未监听)

netstat -a 列出所有端口
netstat -at 列出所有tcp端口
netstat -au 列出所有udp端口

列出所有处于监听状态的 Sockets

netstat -l #只显示监听端口
netstat -lt #只列出所有监听 tcp 端口
netstat -lu #只列出所有监听 udp 端口
netstat -lx #只列出所有监听 UNIX 端口

显示每个协议的统计信息

netstat -s 显示所有端口的统计信息
netstat -st 显示TCP端口的统计信息
netstat -su 显示UDP端口的统计信息

猜你喜欢

转载自blog.csdn.net/daboluo521/article/details/80671509