<fieldset id='86obm'></fieldset>
      <dl id='86obm'></dl>
      <span id='86obm'></span>
      <i id='86obm'></i>

      <code id='86obm'><strong id='86obm'></strong></code>

      <ins id='86obm'></ins><i id='86obm'><div id='86obm'><ins id='86obm'></ins></div></i>

    1. <acronym id='86obm'><em id='86obm'></em><td id='86obm'><div id='86obm'></div></td></acronym><address id='86obm'><big id='86obm'><big id='86obm'></big><legend id='86obm'></legend></big></address>

    2. <tr id='86obm'><strong id='86obm'></strong><small id='86obm'></small><button id='86obm'></button><li id='86obm'><noscript id='86obm'><big id='86obm'></big><dt id='86obm'></dt></noscript></li></tr><ol id='86obm'><table id='86obm'><blockquote id='86obm'><tbody id='86obm'></tbody></blockquote></table></ol><u id='86obm'></u><kbd id='86obm'><kbd id='86obm'></kbd></kbd>

          Linux系统中netstat命令的基本使用方法

          • 时间:
          • 浏览:9
          • 来源:124软件资讯网

              在盘算中  ,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文件的象征性服务名 。