Linux之网络管理(8)网络监控工具
admin
2023-07-17 15:43:42
0

Linux之网络管理(8)网络监控工具

linux中有很多查看网络、进程通信状态的查看工具,而网络之间建立通信是通过soket套接字进行的,所谓套接字,就是相当于插座,而一台主机上会产生多种套接字,就是相当于插头向插座插入的过程,也就是主机中进程通信。而在网络中建立通信,就是双方各种插入对方。当然这些只是粗率的比喻,实际上,soket是用来将tcp/udp等协议发送的数据包进行封装:也就是相当于食品包装,把数据包加上port端口号、进程号等然后发送给对方,然后对方根据数据的包装袋来放回特定需要的数据。这样网络之间各种进程直接通信之间互不干扰。就像送快递和收快递的一样,谁的快递,谁来收,路线就是到你家。

 

linux中提供的工具:

netstat  命令

man 文档帮助的说明:

netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships

打印网络连接、路由表、接口统计、伪装连接、多播连接等信息。

选项介绍:

netstat  [option]...

          -r   : 显示路由表

  -t   : 已经建立的tcp协议相关

  -u  :  已经建立的udp协议相关     

          -w  raw  sokect (未包装处理的)

          -l   : 处于监听状态

  -a  : 所有状态

  -n  : 及数字显示IP和端口

  -e  : 扩展方式详细更多状态信息

  -p  : 显示相关进程及PID

常用组合使用:

 查明网络连接:

netstat  -tan    显示所有tcp相关的连接状态

netstat  -uan    显示所有udp相关的连接状态

netstat  -tnl     显示所有监听状态的tcp连接

netstat  -unl     显示所有监听状态的udp连接

 显示路由表:

netstat  -rn      不做反向解析显示内核路由表

 显示接口统计数据:

 netstat  -i       #显示所有网络接口信息状态

 netstat  -I=FACE_NAME  #显示指定设备信息状态

        例子:netstat  -I=eth0  #显示eth0设备数据连接状态信息

 

 

 

ss命令

ss - another utility to investigate sockets

这是另一种显示套接字信息的工具,netstat命令通过遍历proc 来获取socket信息,以及是老旧的命令了,ss使用netlink与内核tcp_diga模块通信获取socket信息,更加准确。

格式及选项介绍:

ss[option]  [FILTER]

option:

   -t  tcp 协议相关

   -u  udp协议相关

   -w : 裸套接字符相关

   -x  unix sock系统内核相关

   -l  listen监听状态的连接

   -a  : 所有连接

   -n  : 数字格式

   -p  : 相关的程序及PID

   -e  : 扩展的信息

   -m  : 内存用量

   -o  : 计时器信息

 

FILTER :  =  [ state TCP-STATE ]  [ EXPRESSION ]

TCP的标准状态:

       LISTEN :监听

       ESTABLISHED:已建立的连接

       FIN_WAIT_1

       FIN_WAIT_2

       SYN_SENT

   SYN_RECV

   CLOSED关闭

EXPRESSION

dport =#目标端口

sport =              #源端口

例子:(  dport  =  :ssh  or  sport  = :ssh  )

     

 

常用组合:

ss  -tan#所有tcp连接状态

ss  -tanl     #所有监听的tcp状态

ss  -tanlp    #所有监听tcp的并显示进程PID

ss  -uan     #所有udp状态

 

额外用法:

ssh  -A  QUERY#查看对应类型或协议的状态,QUERY参数为要指定的类型

QUERY

all,  inet,  tcp,  udp,  raw,  unix,  packet,  netlink,  unix_dgram,  unix_stream,

unix_seqpacket,  packet_raw,  packet_dgram.

 

TCP-STATE中可用的标示符参数:

  所有TCP标准状态参数

   established,  syn-sent,   syn-recv,  fin-wait-1,  fin-wait-2,  time-wait,  closed,

   close-wait,   last-ack,  listen,  closing.

  复杂状态参数:

      all              所有的状态

      connection       所有连接的(除了监听和关闭的)状态

      synchronized      所有同步的,除了syn-sent所有连接的状态

      bucket           所有维护scokectsyn-recv的状态

      big              所有和bucket相反的状态

 

案例展示:

显示本地打开的所有端口  ss  -l

[root@localhost www]# ss -l | tail -n 10

Linux之网络管理(8)网络监控工具

解析:udp是没有状态的,所以打开的连接会显示两个协议所有处于监听状态连接

显示每个进程具体打开的 socket    

[root@localhost www]# ss -pl | tail -n 10

显示所有tcp socket             

[root@localhost www]# ss -t -a

Linux之网络管理(8)网络监控工具 

显示所有UDP Socekt

[root@localhost www]# ss -u -a

Linux之网络管理(8)网络监控工具

显示所有已经建立的SMTP连接

[root@localhost www]# ss -o state established  '( dport = :smtp or sport = :smtp )'

显示所有已经建立的HTTP连接

[root@localhost www]# ss -o state established  '( dport = :http or sport = :http )'

找出所有连接X服务器的进程

[root@localhost www]# ss -x src /tmp/.X11-unix/*

列出当前各协议的各套接字个数

[root@localhost www]# ss -s


相关内容

热门资讯

德国总理威胁塞尔维亚:中俄欧,... 【文/观察者网 陈思佳】近日,欧盟-西巴尔干峰会在黑山蒂瓦特举行,讨论欧盟扩大等问题。据塞尔维亚N1...
普京:泽连斯基的信毫无诚意,多... 综合路透社、英国广播公司(BBC)报道,6月5日,第二十九届圣彼得堡国际经济论坛期间,俄罗斯总统普京...
日本数字大臣:再不赶上,日本将... 据路透社消息,日本数字大臣松本尚于6月5日呼吁日本民众知晓全力推进人工智能研发的必要性。他警告,倘若...
穆拉鲁为“台独”张目,中使馆发... 台湾是中国的一部分,大陆和台湾同属一个中国,这是自古到今的事实,是台海真正的现状,也是二战后国际秩序...
燃气灶打火后着火慢是什么原因 其故障检查和排除方法如下:1、检查电池安装正负极是否装反,电池的塑料包装膜是否拆去,电池是否用完若是...
燃气灶着火后还打火怎么回事 燃气灶着火后还打火怎么回事可能是点火器或者阀体的微动开关出现了故障,首先检查阀体下压后是否卡死不能弹...
燃气灶打火后松手就熄灭是什么原... 原因是燃气灶电池没有电了,可以拆下电池盒看一下是不是电池盒生锈或者没有电,如果电池盒生锈的话需要清理...
燃气灶打着后一松手就灭怎么回事 原因是燃气灶电池没有电了,可以拆下电池盒看一下是不是电池盒生锈或者没有电,如果电池盒生锈的话需要清理...
欧派燃气灶打火松手就灭怎么回事 1、原因是燃气灶电池没有电了,解决方法就是更换新的电池,建议平时使用质量好一点的电池,这样就不用经常...
104票,“德国从未表现得如此... 【环球时报驻德国特约记者 青木】德国在联合国安理会非常任理事国选举中落败,引发国内对败选原因和后续影...