欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


快人一步——傲游3 “快应用”功能详解
如何打造一款可靠的WAF(Web应用防火墙)
移动互联网的六大趋势
如何关闭360双ctrl搜索
彩云什么情况下会导致下载失败?
彩云可以离线登录使用吗?
彩云什么是时光?
wifi无线网络无法上网怎么办
详解Linux系统内存寻址的分页机制
在Linux服务器上安装使用Memcache
Linux系统中netstat命令的基本使用方法
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

   在计算中,netstat(网络统计数据)是一个命令行工具,它显示传输控制协议的网络连接(传入和传出),路由表,和一个数字网络接口 (网络接口控制器或者软件定义的网络接口)和网络协议的统计数据。它可在类Unix操作系统,包括OS X,Linux,Solaris和BSD,并提供对基于Windows NT的操作系统,包括Windows XP,Windows Vista中,Windows 7和Windows8。

  本文主要介绍netstat在Linux的使用

  netstat man的帮助手册会有提示信息:

  NOTE

  This program is obsolete. Replacement for netstat is ss. Replacement for netstat -r is ip route.

  Replacement for netstat -i is ip -s link. Replacement for netstat -g is ip maddr.

  在Linux系统作,netstat命令已废弃不建议使用,已经被ss命令替代,netstat已经是明日黄花了,官方已经不再更新了。它已经被ss命令和ip命令所取代,或许在不久的将来在Linux发行版中就将见不到netstat的身影了。所以,如果还有人在用netstat,你要建议他使用ss和ip。

  netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,

  语  法:netstat [-acCeFghilMnNoprstuvVwx][-A网络类型>][--ip]

  补充说明:利用netstat指令可让你得知整个Linux系统的网络情况。

  参  数:

  -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"参数相同。

  1)

  代码如下:

  netstat -tl    -nltp

  查看当前tcp监听端口

  Active Internet connections (only servers)

  Proto Recv-Q Send-Q Local Address Foreign Address State

  tcp 0 0 *:rrac *:* LISTEN

  tcp 0 0 *:34006 *:* LISTEN

  ......

  2)

  代码如下:

  netstat -tlp

  查看当前tcp监听端口, 需要显示监听的程序名,当不清楚mysql的监听端口时比较好用

  Active Internet connections (only servers)

  Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

  tcp 0 0 *:rrac *:* LISTEN -

  tcp 0 0 *:34006 *:* LISTEN 23425/mysqld

  ......

  3)

  代码如下:

  netstat -tl | grep 34006

  只查看mysql的监听端口,当前启动的mysql端口为34006,明确知道mysql监听端口时使用

  4)

  代码如下:

  netstat -ta | grep 34006

  tcp 0 0 *:34006 *:* LISTEN

  tcp 0 0 linux.local:34006 linux.local:41485 ESTABLISHED

  tcp 0 0 linux.local:34006 linux.local:41486 ESTABLISHED

  ...

  tcp 0 0 10.3.2.35:41488 10.3.2.35:34006 ESTABLISHED

  tcp 0 0 10.3.2.35:41489 10.3.2.35:34006 ESTABLISHED

  tcp 0 0 10.3.2.35:41490 10.3.2.35:34006 ESTABLISHED

  由于数据库和运用程序都放在同一台机器了,因此这里连接被显示了两次. 可以使用-p参数来显示PID,然后grep PID.

  5)

  代码如下:

  netstat -tap | grep 34006 | grep 23425

  23425是当前mysql的PID

  tcp 0 0 *:34006 *:* LISTEN 23425/mysqld

  tcp 0 0 linux.local:34006 linux.local:41510 ESTABLISHED 23425/mysqld

  tcp 0 0 linux.local:34006 linux.local:41511 ESTABLISHED 23425/mysqld

  tcp 0 0 linux.local:34006 linux.local:41516 ESTABLISHED 23425/mysqld 从 整体上看,netstat的输出结果可以分为两个部分,一个是Active Internet connections,称为有源TCP连接,另一个是Active UNIX domain sockets,称为有源Unix域套接口。在上面的输出结果中,第一部分有5个输出结果,显示有源TCP连接的情况,而第二部分的输出结果显示的是 Unix域套接口的连接情况。Proto显示连接使用的协议;RefCnt表示连接到本套接口上的进程号;Types显示套接口的类型;State显示套 接口当前的状态;Path表示连接到套接口的其它进程使用的路径名。

  事实上,netstat是若干个工具的汇总。

  显示路由表

  在随- r标记一起调用n e t s t a t时,将显示内核路由表,就像我们利用r o u t e命令一样。产生的输出如下:

  代码如下:

  [root@machine1 /]$ netstat -nr

  Kernel IP routing table

  Destination Gateway Genmask Flags MSS Window irtt Iface

  210.34.6.0 0.0.0.0 255.255.255.128 U 0 0 0 eth0

  192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

  127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

  0.0.0.0 210.34.6.2 0.0.0.0 UG 0 0 0 eth0

  - n 选项令netstat以点分四段式的形式输出IP地址,而不是象征性的主机名和网络名。如果想避免通过网络查找地址(比如避开DNS或NIS服务器),这一点是特别有用的。

  netstat 输出结果中,第二列展示的是路由条目所指的网关,如果没有使用网关,就会出现一个星号(*)或者0.0.0.0;第三列展示路由的概述,在为具体的I P地址找出最恰当的路由时,内核将查看路由表内的所有条目,在对找到的路由与目标路由比较之前,将对I P地址和genmask进行按位“与”计算;第四列显示了不同的标记,这些标记的说明如下:

  G 路由将采用网关。

  U 准备使用的接口处于“活动”状态。

  H 通过该路由,只能抵达一台主机。

  D 如果路由表的条目是由ICMP重定向消息生成的,就会设置这个标记。

  M 如果路由表条目已被ICMP重定向消息修改,就会设置这个标记。

  netstat输出结果的Iface显示该连接所用的物理网卡,如eth0表示用第一张,eth1表示用第二张。

  显示接口特性

  在随- i标记一起调用时, netstat将显示网络接口的当前配置特性。除此以外,如果调用时还带上-a选项,它还将输出内核中所有接口,并不只是当前配置的接口。netstat-i的输出结果是这样的:

  代码如下:

  [root@machine1 /]$ netstat -i

  Kernel Interface table

  Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

  eth0 1500 0 787165 0 0 1 51655 0 0 0 BRU

  eth1 1500 0 520811 0 0 0 1986 0 0 0 BRU

  lo 3924 0 1943 0 0 0 43 0 0 0 LRU

  MTU 和Met字段表示的是接口的MTU和度量值值;RX和TX这两列表示的是已经准确无误地收发了多少数据包( RX - OK / TX - OK)、产生了多少错误( RX-ERR/TX-ERR)、丢弃了多少包(RX-DRP/TX-DRP),由于误差而遗失了多少包(RX-OVR/TX-OVR);最后一列展示的是 为这个接口设置的标记,在利用ifconfig显示接口配置时,这些标记都采用一个字母。它们的说明如下:

  B 已经设置了一个广播地址。

  L 该接口是一个回送设备。

  M 接收所有数据包(混乱模式)。

  N 避免跟踪。

  O 在该接口上,禁用A R P。

  P 这是一个点到点链接。

  R 接口正在运行。

  U 接口处于“活动”状态。

  显示链接

  netstat 支持用于显示活动或被动套接字的选项集。选项- t、- u、- w和- x分别表示TCP、UDP、RAW和UNIX套接字连接。如果你另外还提供了一个- a标记,还会显示出等待连接(也就是说处于监听模式)的套接字。这样就可以得到一份服务器清单,当前所有运行于系统中的所有服务器都会列入其中。

  调用netstat -ta时,输出结果如下:

  代码如下:

  [root@machine1 /]$ netstat -ta

  Active Internet connections (servers and established)

  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 0 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 0 *:9001 *:* LISTEN

  tcp 0 0 *:6000 *:* LISTEN

  tcp 0 0 *:socks *:* LISTEN

  tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE

  上 面的输出表明部分服务器处于等待接入连接状态。利用- a选项的话,netstat还会显示出所有的套接字。注意根据端口号,可以判断出一条连接是否是外出连接。对呼叫方主机来说,列出的端口号应该一直是一个 整数,而对众所周知服务(well known service)端口正在使用中的被呼叫方来说,netstat采用的则是取自/etc/services文件的象征性服务名。

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站