Linux下网络管理常用工具

ip

Ip工具可以查看当台主机的一些基本信息。

场景

  • 查看基本信息: 查看网络接口、mtu等。
  • 查看docker虚拟网络相关信息

Ping

ping 是 Linux 下一个非常常用且基础的网络工具,用于测试网络连接的可达性。

场景

  • 测试网络连通性: 判断本机是否能够到达目标主机。分别ping lo地址、本机对外地址、gateway地址、公网地址,可以一步一步的进行问题的排查。
  • 测量网络性能: 查看RTT、丢包等信息,即数据包从发送到接收到回复所花费的时间。
  • 域名解析验证: 当使用域名作为目标时,ping 命令会先解析域名为 IP 地址,可以间接验证 DNS 解析是否正常。
  • 压测:ping 可以使用-f 进行Flood ping,可以配合-s(设置package size)来进行简单的对目标主机的压测。

Dig

Dig是 Linux 命令行下用于查询 DNS信息的强大工具。dig 允许用户直接与 DNS 服务器交互,查询各种 DNS 记录,并显示从服务器返回的详细信息。

场景

  • 检查域名是否能够被解析: 这是dig最基本的功能,通过查询 A、AAAA、CNAME 等记录,可以确认域名是否在 DNS 系统中存在并指向正确的 IP 地址或别名。
  • 查看DNS解析信息: 包括DNS解析时长、最大超时时间等。
  • 检查指定的 DNS 服务器是否正常工作: 可以通过指定不同的 DNS 服务器进行查询,判断特定的 DNS 服务器是否响应查询或返回正确的结果。
  • 检查DNS 记录是否正确传播: 在 DNS 记录更新后,可以使用 dig 查询不同的 DNS 服务器,检查新的记录是否已经在全球范围内生效。
  • 查看DNS解析过程: DNS 缓存问题可能导致用户无法访问某些网站。使用 dig 的 +trace 选项可以帮助跟踪 DNS 解析过程,查找可能的缓存问题。
  • 查看DNS策略是否生效: dig baidu.com的时候可以发现有两个ip地址,可以通过dig来查看DNS 配置策略状态。

nmap

namp是一个网络扫描工具,主要用于发现网络上的主机、探测开放的端口、识别运行的服务以及操作系统类型等。

场景

  • 端口扫描: 扫描主机的端口,查看是否开放,可以指定全连接或半连接扫描。
  • 网段范围的主机探测: 本质上是ping命令,但是可以指定范围,通过ip ranges来进行主机的存活探测。
  • Flood Testing: 基本原理同ping。
  • 暴力破解测试: 不细说。
  • 检测远程主机OS信息(估测): 原理是根据一些网络协议信息进行os版本的推测。

netstat & ss

netstat

netstat 用于显示 Linux 系统上的网络连接、路由表、接口统计信息、伪装连接、多播成员关系等。它提供了一个实时的网络活动快照,对于监控网络状态、诊断网络问题以及了解系统上的网络配置非常有用。

ss

ss 是另一个用于显示 Linux 系统上的套接字统计信息的命令行工具。它被认为是 netstat 的现代替代品,能够显示更多的 TCP 和套接字信息。两个工具在功能上有一些重叠。

场景

  • 查看所有活动的网络连接: 显示所有 TCP 和 UDP 连接,以及正在监听的端口;查找占用特定端口的服务。
  • 查看套接字相关信息: 包括 TCP 窗口大小、拥塞控制算法等。

traceroute

traceroute 是一个网络诊断工具,用于跟踪数据包从计算机到目标主机所经过的路由(路径)。

场景

  • 诊断网络连接问题: 无法访问某个网站或服务时,traceroute 可以帮助确定问题出在本地网络、ISP 网络还是目标服务器的网络路径上。
  • 识别网络瓶颈: 观察每个跃点的延迟,可以找到网络中可能导致速度缓慢的瓶颈节点。

speedtest-cli

一个简单的网络测试工具,可以快速获取最近的网络测试节点并且测试网速。

Vnstat

Vnstat 是一个轻量级的命令行网络流量监控工具。它在后台运行,记录网络接口的接收和发送数据量,并提供各种报告,记录网络的历史使用情况。

场景

  • 网卡流量监控: 基于proc,针对网卡的流量监控,可以分时进行查询,还可以导出图片进行分析。

nethogs

类似于 top 命令,但专注于按进程实时显示网络带宽使用情况。它可以让你看到哪个进程正在消耗最多的上传和下载带宽。缺点就是不能够查询一些内核级别的进程的通信信息。

场景

  • 网卡实时流量监控: 针对网卡的实时流量监控,可以达到进程级别。

iftop

实时监控网络接口的带宽使用情况,但它按网络连接(主机对)显示流量,并尝试解析主机名。可以查看哪些主机之间正在进行大量的网络通信。

场景

  • 实时流量监控: 针对主机级别的实时流量监控,和nethogs有点类似。

wireshark

一个强大的网络分析可视化工具。

场景

  • 详细分析网络协议: 可以深入分析 TCP/IP 协议栈的各个层次,查看每个数据包的详细头部信息和数据内容。
  • 性能分析: 分析网络延迟、丢包、重传等性能指标,帮助优化网络性能。

tcpdump

一个命令行抓包工具。它可以捕获指定接口上的网络数据包,并将数据包信息输出到终端或保存到文件中。

场景

  • 作为数据源: tcpdump 的一个常用的用处就是将dump下的数据导入到wireshark中进行详细分析。tcpdump可以快速抓取数据包。
  • 数据分析: 可以进行一些简单的数据分析,当然可视化方面还是wireshark比较好。

bcc

BCC 是一个围绕 eBPF 构建的强大工具包,里面有很多关于网络抓包的工具。

没有接触过,皓哥这里有详细的介绍:coolshell.cn/articles/22...

Reference

相关推荐
bobz9656 分钟前
supervisord 的使用
后端
大道无形我有型7 分钟前
📖 Spring 事务机制超详细讲解(哥们专属)
后端
Re2758 分钟前
springboot源码分析--自动配置流程
spring boot·后端
Piper蛋窝11 分钟前
Go 1.2 相比 Go1.1 有哪些值得注意的改动?
后端·go
努力的搬砖人.14 分钟前
java爬虫案例
java·经验分享·后端
海风极客26 分钟前
一文搞懂JSON和HJSON
前端·后端·面试
南雨北斗27 分钟前
2.单独下载和配置PHP环境
后端
海风极客29 分钟前
一文搞懂Clickhouse的MySQL引擎
后端·面试·架构
都叫我大帅哥30 分钟前
遍历世界的通行证:迭代器模式的导航艺术
java·后端·设计模式
yezipi耶不耶1 小时前
Rust入门之迭代器(Iterators)
开发语言·后端·rust