Skip to content

Latest commit

 

History

History
256 lines (167 loc) · 5.59 KB

网络类监控工具.md

File metadata and controls

256 lines (167 loc) · 5.59 KB

目录

Command

netstat

netstat 命令显示网络连接、路由表、接口统计、伪装连接和多播连接等信息

  • 查看端口占用情况
    netstat -tunlp

  • 查看具体端口占用情况
    netstat -tunlp | grep [port]

  • 查看所有端口
    netstat -ntlp

  • 查看某个进程占用情况
    netstat -anp | grep [pid]

nc

ncnetcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具

nc的作用

  • 实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
  • 端口的扫描,nc可以作为client发起TCP或UDP连接
  • 机器之间传输文件
  • 机器之间网络测速

参数

  • 用于指定nc将处于侦听模式
    nc -l

  • 指定监听端口
    nc -p <port>

  • 指定发送数据的源IP地址,适用于多网卡机
    nc -s

  • 指定nc使用UDP协议,默认为TCP
    nc -u

  • 输出交互或出错信息,新手调试时尤为有用
    nc -v

  • 超时秒数,后面跟数字
    nc -w

  • 表示zero,表示扫描时不发送任何数据
    nc -z

参考

ss

ss 命令用于获取套接字统计信息。它可以显示类似于 netstat 的信息。不过 netstat 几乎要过时了,ss 命令更具优势

  • 显示所有 TCP 或 UDP 套接字
    ss -t -a
    ss -u -a

  • 显示所有带有 SELinux 安全上下文Security Context的 TCP
    ss -t -a -Z

iptraf

iptraf 命令是一个基于 ncurses 的交互式 IP 网络监控工具。它可以生成多种网络统计信息,包括 TCP 信息、UDP 计数、ICMP 和 OSPF 信息、以太网负载信息、节点统计信息、IP 校验错误等。它以简单的格式提供了以下信息

  • 基于 TCP 连接的网络流量统计
  • 基于网络接口的 IP 流量统计
  • 基于协议的网络流量统计
  • 基于 TCP/UDP 端口和数据包大小的网络流量统计
  • 基于二层地址的网络流量统计

tcpdump

tcpdump 命令是简单的分析网络通信的命令。您需要充分了解 TCP/IP 协议才便于使用此工具

  • 显示有关 DNS 的流量信息
    tcpdump -i eth1 'udp port 53'

  • 查看所有去往和来自端口 80 的 IPv4 HTTP 数据包,仅打印真正包含数据的包,而不是像 SYN、FIN 和仅含 ACK 这类的数据包
    tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

  • 显示所有目标地址为 202.54.1.5 的 FTP 会话
    tcpdump -i eth1 'dst 202.54.1.5 and (port 21 or 20)

  • 打印所有目标地址为 192.168.1.5 的 HTTP 会话
    tcpdump -ni eth0 'dst 192.168.1.5 and tcp and port http

  • 使用 wireshark 查看文件的详细内容
    tcpdump -n -i eth1 -s 0 -w output.txt src or dst port 80

lsof

lsof 比netstat更强大的网络监控工具
在mac上查询端口用这个代替netstat

  • 查看打开filename文件的所有进程
    lsof filename

  • 查看指定用户
    lsof -u root

  • 显示所有连接
    lsof -i

  • 查看相关端口的进程
    lsof -i:port

  • 仅获取IPv6流量
    lsof -i 6

  • 仅显示TCP连接
    lsof -iTCP

  • 显示指定到指定主机的连接
    lsof -i@ip

  • 找出正等候连接的端口
    lsof -i -sTCP:LISTEN
    lsof -i | grep -i LISTEN

  • 显示任何已经连接的连接
    lsof -i -sTCP:ESTABLISHED
    lsof -i | grep -i ESTABLISHED

  • -a 结果进行“与”运算 多个命令结果和在一起
    lsof -i -a -c ssh

  • 显示指定用户打开了什么
    lsof -u [user]

  • 杀死指定用户所做的一切事情
    lsof kill -9 `lsof -t -u [user]`

  • 使用-c查看指定的命令正在使用的文件和网络连接
    lsof -c syslog-ng

  • 返回PID
    lsof -t -c Mail

  • 查看进程ID为procid的进程打开的文件列表
    lsof -p procid

iperf3

iperf3 测试最大TCP和UDP带宽性能 iperf3 要开两端,一端服务端,一端测试端进行测试

通用

  • 定义端口号
    iperf3 -p

  • 输出格式 Kbits, Mbits, Gbits, Tbits
    iperf3 -f [kmgtKMGT]

服务端

  • 表示服务器端
    iperf3 -s

客户端

  • 表示客户端,ip表示服务端的ip
    iperf3 -c <ip>

  • 指定带宽
    iperf3 -b #[KMG][/#]

  • 传输的字节数
    iperf3 -n #[KMG]

  • 间隔时间
    iperf3 -i <time>

  • 默认发送时间
    iperf3 -t

  • 缓冲区指定大小
    iperf3 -w

  • 参数可以将输出的测试结果储存至文件中
    iperf3 --logfile

  • 输出JSON格式
    iperf3 -J

  • 下载模式
    iperf3 -R

  • 分块传输 iperf3 -k

mtr

mtr 网络出口工具

MAC下注意事项:

  1. 安装在了/usr/local/sbin下,添加命令export PATH=$HOME/bin:/usr/local/bin:$PATH:/usr/local/sbin
  2. 调用时需要用 sudos
  • 以报告模式显示输出
    mtr -r \ -report

  • 将每次追踪的结果分别列出来
    mtr -p \ -split

  • 指定ping数据包的大小
    mtr -s \ -psize

  • 不对IP地址做域名反解析
    mtr -n \ -no-dns

  • 设置发送数据包的IP地址。用于主机有多个IP时
    mtr -a \ -address

  • 只使用IPv4协议
    mtr -4

  • 只使用IPv6协议
    mtr -6

  • 可以在mtr命令运行过程中,输入相应字母来快速切换模式

  • 显示帮助菜单
    mtr ?\ h

  • 切换显示模式
    mtr d

  • 切换启用或禁用DNS域名解析
    mtr n

  • 切换使用ICMP或UDP数据包进行探测
    mtr u

参考: