在实际的网络排错、运维诊断、或者是开发过程中,熟练运用 Linux 或者 Windows 当中的有关网络工具,能够助力我们更迅速更精准地定位故障。因而,今天给大家分享几款必掌握的网络利器。
在 Linux 中,命令即命令,它被称为网络工具中的“瑞士军刀”,是一个功能强大的网络工具。
端口扫描:可以用来检测目标主机的特定端口是否开放。
简单的 TCP 和 UDP 连接:建立 TCP 或 UDP 连接并进行数据传输。
完整方法:
参数说明:
- 检测网络连接:能够判断计算机与目标主机之间是否能够建立通信连接。
- 测量网络延迟:显示数据包从发送到接收所经历的时间,即往返时间(Round-Trip Time,RTT),从而评估网络的响应速度。
- 统计丢包率:通过多次发送数据包并统计未收到应答的次数,计算数据包丢失的比例。
例如,在 Windows 系统中,在命令提示符下输入 ping 目标主机的 IP 地址或域名 ,如 ,就会开始向米哈游(实际上是某云厂商)的服务器发送数据包并接收响应,并显示相关的统计信息,包括响应时间、丢包情况等。
在 Linux 系统中,使用方法类似。
以kali的命令为例,输入ping -h查看详细参数
是 Time To Live生存时间的缩写。在 IP 数据包中,TTL 是一个 8 位字段,它指定了数据包在网络中可以经过的最大跳数(路由器数量)。每经过一个路由器,TTL 值就会减 1,当 TTL 减为 0 时,数据包将被丢弃,以防止数据包在网络中无限循环。
“Request Time Out”请求超时表示发送的 Ping 数据包在指定时间内没有收到目标主机的响应。这可能是由于网络拥塞、目标主机繁忙、路由问题或目标主机不可达等原因导致的。
“Destination host Unreachable”目标主机不可达表示在尝试将数据包发送到目标主机时,网络无法找到到达该目标的路径。这可能是因为目标主机不存在、网络配置错误、中间路由器故障等。
“Bad IP Address”错误的 IP 地址意味着您输入的用于 Ping 操作的 IP 地址是无效的或不存在的。
例如,如果您尝试 Ping 一个不存在的 IP 地址,可能会收到“Bad IP Address”的提示。如果网络存在故障,可能会收到“Request Time Out”或“Destination host Unreachable”。
“Source quench received” ICMP源抑制,该信息比较特殊,出现的机率很少。表示对方或中途的服务器繁忙无法回应。通常是由于发包发太多了,早该少发发了。
在 Linux 中, 和 都是用于查看和配置网络接口信息的命令,但它们有一些区别。
是一个较旧的命令,用于显示网络接口的配置信息,如 IP 地址、子网掩码、广播地址等。它还可以用于临时设置网络接口的参数,如激活或禁用接口、设置 IP 地址等。
然而, 命令在一些较新的 Linux 发行版中可能已被弃用或不再默认安装。
是 工具集的一部分,是一个功能更强大和灵活的命令,用于查看和管理网络接口的地址信息。
iproute2是一组集成了网络配置指令ip的开源软件包,ip指令功能齐全,可以配置和查看网络接口(link)、网络接口的地址(address)、ARP(neighbour)、路由(route)、路由策略数据库(rule)、隧道(tunnel)等
使用 命令可以获取更详细和准确的网络接口信息,包括链路层地址(MAC 地址)、接口状态、IP 地址的类型(IPv4 或 IPv6)等。
在 Linux 中, 命令是一个强大的网络数据包捕获和分析工具。
它可以让您在网络接口上捕获流经的数据包,并根据您指定的各种条件进行过滤和显示。
-
数据包捕获:能够抓取网络接口上传输的各种类型的数据包,如 TCP、UDP、ICMP 等。
-
过滤条件:您可以使用丰富的表达式来定义捕获数据包的条件,例如基于源和目标 IP 地址、端口号、协议类型等。
-
详细信息显示:它会以详细的格式显示捕获到的数据包的信息,包括数据包的头部字段、数据内容等。
-
实时监控:可以实时捕获和显示网络数据包,帮助您及时了解网络活动。
-
保存数据包:能够将捕获到的数据包保存到文件中,以便后续分析。
例如,如果您只想捕获来自特定 IP 地址的 TCP 数据包,可以使用类似 的命令。
案例 1:捕获特定接口的所有数据包
上述命令将在 接口上捕获所有的数据包。
案例 2:捕获特定协议的数据包(如 TCP 协议)
案例 3:捕获特定源 IP 地址的数据包
案例 4:捕获特定目的 IP 地址和端口的数据包
案例 5:捕获特定网络范围内的数据包
案例 6:捕获特定主机之间的数据包
案例 7:将捕获的数据包保存到文件
上述命令会将捕获的数据包保存到名为 的文件中,后续可以使用其他工具(如 Wireshark)对该文件进行分析。
案例 8:捕获特定协议和端口的数据包,并以更详细的格式显示
案例 9:捕获特定网卡访问原神官网的数据包并保存到文件 QiDong.pcap
这些案例只是 命令的一些常见用法,您可以根据具体的需求灵活组合和调整命令选项。
在网络故障排查、安全审计、协议分析等方面都非常有用。
它的主要用途包括:
-
查看进程打开的文件:包括普通文件、目录、网络套接字、设备等。这对于了解进程正在使用哪些资源非常有用。
-
查找特定文件或目录被哪些进程使用:如果您想知道某个文件或目录正在被哪些进程访问或占用,可以通过 命令来获取相关信息。
-
诊断进程与文件系统的关联问题:例如,当无法删除或修改某个文件时,可以使用 查看是否有进程正在使用该文件。
-
监控系统资源使用情况:帮助管理员了解系统中文件资源的分配和使用状况。
- :表示两个或多个选项必须同时满足。
- :显示命令名称以 开头的进程所打开的文件。
- :显示指定文件描述符的使用情况。可以是数字表示的文件描述符,也可以是多个文件描述符用逗号分隔,如 。
- :用于显示网络连接相关的信息。
- :仅显示 IPv4 的网络连接。
- :仅显示 IPv6 的网络连接。
- :显示 TCP 协议的网络连接。
- :显示 UDP 协议的网络连接。
- :不将 IP 地址转换为主机名,端口号转换为服务名称。
- :显示指定进程 ID 的进程所打开的文件。
- :显示指定用户打开的文件。
- :指定输出格式, 可以是 (表示命令名)、 (表示进程 ID)、 (表示文件描述符)等。
- :显示帮助信息。
这些只是 命令的部分常用参数,您可以通过 命令获取更完整和详细的参数说明及用法示例。
例如,要查看某个端口被哪些进程占用,可以使用 ;要查看某个文件被哪些进程使用,使用 。
案例 1:查看所有进程打开的文件
案例 2:查看某个进程打开的文件
假设进程 ID 为 1234:
案例 3:查看某个用户打开的文件
假设用户名为 :
案例 4:查看某个端口相关的进程和文件
假设端口为 80 :
案例 5:查看某个文件被哪些进程使用
假设文件名为 :
案例 6:查看网络连接相关的信息(仅 IPv4)
案例 7:查看网络连接相关的信息(仅 TCP 协议)
案例 8:不将 IP 地址和端口号转换为名称
- 或 :显示所有的连接和监听端口,包括处于监听状态和非监听状态的套接字。
- 或 :仅显示 TCP 协议的连接。
- 或 :仅显示 UDP 协议的连接。
- 或 :以数字形式显示地址和端口号,而不尝试将其转换为主机名和服务名。
- 或 :仅显示处于监听状态的套接字。
- 或 :显示与每个连接或监听端口相关的进程 ID 和进程名称。
- 或 :显示内核路由表。
- 或 :显示更多详细的信息。
- 或 :显示各种网络协议的统计信息。
通过组合这些参数,可以根据具体需求获取所需的网络状态信息。例如, 会以数字形式显示所有的 TCP 连接。您可以通过在终端中输入 来获取更完整和详细的参数说明及用法示例。
案例 1:显示所有活动的连接
案例 2:仅显示 TCP 连接
案例 3:仅显示 UDP 连接
案例 4:以数字形式显示所有连接(包括地址和端口)
案例 5:显示处于监听状态的端口
案例 6:显示监听的 TCP 端口
案例 7:显示监听的 UDP 端口
案例 8:显示与每个连接相关的进程 ID 和名称
案例 9:查看路由表信息
案例 10:显示网络接口统计信息
案例 11:显示 TCP 连接的统计信息
这些案例可以帮助您在不同的场景下获取所需的网络状态和统计信息,以便进行网络故障排查、性能监控等工作。
iftop 是一款用于监控网络流量的开源命令行工具,它能够实时显示网络接口流量的信息,包括接收和发送的数据量、速度等。iftop 通过抓包来实时获取网络流量信息,并以直观的形式显示在终端上。
iftop 的主要功能包括:
- 监控实时网络流量:可以实时监控网络接口上进出的数据量、速率、源 IP 地址和目标 IP 地址等信息,帮助了解网络流量分布情况。
- 显示连接到本机的主机:能够显示连接到本机的所有主机的 IP 地址和域名,以及它们之间的网络流量情况。
- 按流量排序:可根据数据包的大小或带宽占用情况对网络流量进行排序,以便直观地了解哪些连接占用了较多的网络资源。
- 过滤显示:支持通过指定源 IP 地址、目标 IP 地址、端口号等条件来过滤显示网络流量,方便关注特定的流量。
要使用 iftop 命令,通常直接在终端中输入即可开始监控网络流量。默认情况下,iftop 会显示所有网络接口的信息。也可以通过一些参数来指定特定的监控选项,例如:
- :指定要监控的网络接口,如。
- :不进行主机名的 DNS 解析,直接显示 IP 地址。
- :以字节(bytes)为单位显示流量(默认是比特 bits)。
- :显示特定网段的进出流量,如。
在 iftop 界面中,通常会显示以下详细的网络流量信息:
- 本地 IP 和端口。
- 远程 IP 和端口。
- 数据包的数量和字节数。
- 实时上传和下载速度。
iftop 还提供了一些快捷键用于交互操作,以便进行不同的显示和过滤设置,常见的快捷键包括:
- :显示帮助菜单。
- :开启或关闭主机名的 DNS 解析。
- :开启或关闭目标和源端口的显示。
- :暂停刷新屏幕。
- :显示或隐藏源主机的 IP 或主机名。
- :切换显示发送和接收流量的方式,如仅显示发送流量、仅显示接收流量或同时显示发送和接收流量。
- :退出 iftop。
- :分别向下和向上滚动屏幕,当屏幕不足以显示所有连接时使用。
- :通过源名称进行排序。
- :通过目标名称进行排序。
- :通过第一、第二、第三列进行排序。
- :冻结排序方式,关闭 iftop 对连接的滚动排序。