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 构建的强大工具包,里面有很多关于网络抓包的工具。
没有接触过,皓哥这里有详细的介绍:https://coolshell.cn/articles/22320.html
Reference
Nmap:https://www.recordedfuture.com/threat-intelligence-101/tools-and-techniques/nmap-command
tcpdump:https://www.modb.pro/db/634018
bcc:https://www.cnblogs.com/charlieroro/p/13265252.html#bcc%E5%8F%AF%E8%A7%82%E6%B5%8B%E6%80%A7
Vnstat:https://cgking.gitbook.io/linux/linux/vnstat-tong-ji-fu-wu-qi-wang-ka-liu-liang
Subscribe to my newsletter
Read articles from Ekreke directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
