本文档概述了 tldr-pages 项目中记录的网络配置和诊断工具。它涵盖了用于配置网络接口、管理 IP 地址和路由表的命令行实用程序,以及用于网络扫描、测试连通性和诊断网络问题的工具。
有关 shell 实用程序和文本处理的信息,请参阅 Shell 实用程序和文本处理。有关包括容器化网络在内的开发工具的详细信息,请参阅 编译和开发工具。
tldr-pages 存储库记录了系统管理员和网络工程师日常使用的许多与网络相关的实用程序。这些工具可分为配置工具和诊断工具。
来源: pages/linux/ip.md1-38 pages/common/masscan.md1-38 pages/common/nc.md1-33
在 Linux 系统上,ip 命令是网络配置的主要工具。它通过子命令提供了一个统一的接口来管理各种网络方面。
ip link 子命令管理网络接口,允许用户查看接口状态、启用或禁用接口,以及修改 MAC 地址或 MTU 大小等属性。
| 操作 | 命令 | 目的 |
|---|---|---|
| 列出所有接口 | ip link | 显示所有网络接口的信息 |
| 显示特定接口 | ip link show ethN | 显示特定接口的详细信息 |
| 启用/禁用接口 | sudo ip link set ethN up/down | 启用或禁用网络接口 |
| 更改 MAC 地址 | sudo ip link set ethN address ff:ff:ff:ff:ff:ff | 修改接口的 MAC 地址 |
| 设置 MTU 大小 | sudo ip link set ethN mtu 9000 | 更改巨帧的 MTU |
| 设置接口别名 | sudo ip link set ethN alias "LAN Interface" | 为接口指定有意义的名称 |
来源: pages/linux/ip-link.md1-33 pages/tr/linux/ip-link.md1-29
ip route 子命令管理系统的路由表,路由表决定了数据包如何转发到其目的地。
来源: pages/linux/ip-route.md1-37 pages/linux/ip-route-list.md1-37 pages/linux/ip-route-get.md1-29 pages/linux/ip-route-show.md1-8
ip address 子命令管理分配给网络接口的 IP 地址。
| 操作 | 命令 | 目的 |
|---|---|---|
| 列出所有地址 | ip address | 显示所有接口上的所有 IP 地址 |
| 显示活动接口 | ip address show up | 仅显示活动接口 |
| 显示特定接口 | ip address show ethN | 显示特定接口上的 IP 地址 |
| 添加地址 | sudo ip address add IP/MASK dev ethN | 为接口分配 IP 地址 |
| 删除地址 | sudo ip address delete IP/MASK dev ethN | 从接口移除 IP 地址 |
| 刷新地址 | sudo ip address flush ethN scope global | 从接口中移除作用域内的所有地址 |
来源: pages/linux/ip-address.md1-29
ip neighbour 子命令管理 ARP(地址解析协议)表,该表将 IP 地址映射到本地网络上的 MAC 地址。
| 操作 | 命令 | 目的 |
|---|---|---|
| 列出条目 | ip neighbour | 显示 ARP 表 |
| 刷新条目 | sudo ip neighbour flush dev ethN | 移除特定接口的条目 |
| 查找邻居 | ip neighbour get IP dev ethN | 查找特定 IP |
| 添加条目 | sudo ip neighbour add IP lladdr MAC dev ethN nud reachable | 添加静态 ARP 条目 |
| 删除条目 | sudo ip neighbour delete IP lladdr MAC dev ethN | 移除 ARP 条目 |
| 更改条目 | sudo ip neighbour change IP lladdr NEW_MAC dev ethN | 修改现有的 ARP 条目 |
来源: pages/linux/ip-neighbour.md1-25 pages/tr/linux/ip-neighbour.md1-25
ip rule 子命令管理基于策略的路由,允许流量根据除目标地址以外的其他标准进行路由。
| 操作 | 命令 | 目的 |
|---|---|---|
| 列出规则 | ip rule | 显示路由策略 |
| 添加源规则 | sudo ip rule add from IP | 基于源地址添加规则 |
| 添加目标规则 | sudo ip rule add to IP | 基于目标地址添加规则 |
| 删除规则 | sudo ip rule delete from IP | 移除策略规则 |
| 刷新规则 | sudo ip rule flush | 移除所有路由规则 |
| 保存规则 | ip rule save > FILE | 将路由规则保存到文件 |
| 恢复规则 | sudo ip rule restore < FILE | 从文件恢复规则 |
来源: pages/linux/ip-rule.md1-37 pages/tr/linux/ip-rule.md1-37
ip maddress 子命令管理多播组成员。
| 操作 | 命令 | 目的 |
|---|---|---|
| 列出多播组 | ip maddress | 显示多播地址和订阅 |
| 显示接口组 | ip maddress show dev ethN | 列出设备特定的多播地址 |
| 加入组 | sudo ip maddress add MCAST_ADDR dev ethN | 静态加入多播组 |
| 离开组 | sudo ip maddress delete MCAST_ADDR dev ethN | 离开静态多播组 |
来源: pages/linux/ip-maddress.md1-25
网络诊断工具通过测试连通性、扫描网络和分析网络流量来帮助识别和解决网络问题。
来源: pages/common/masscan.md1-38 pages/common/nc.md1-33 pages/es/common/ping.md1-33
Masscan 是一个高速网络扫描器,旨在快速扫描大型网络。
| 操作 | 命令 | 目的 |
|---|---|---|
| 扫描单个端口 | masscan IP -p 80 | 扫描 IP 或子网的 80 端口 |
| 扫描热门端口 | masscan 10.0.0.0/16 --top-ports 100 --rate 100000 | 以每秒 100k 报包的速度扫描子网的前 100 个端口 |
| 排除范围 | masscan 10.0.0.0/16 --excludefile PATH | 扫描时避开排除文件中的范围 |
| 横幅抓取 | masscan 10.0.0.0/16 -p 22,80 --banners | 带版本检测的扫描 |
| 全互联网扫描 | masscan 0.0.0.0/0 -p 80,443 --rate 10000000 | 扫描互联网上的 Web 服务器 |
| 输出格式 | masscan 0.0.0.0/0 -p 0-65535 --output-format json --output-filename FILE | 将扫描结果导出到文件 |
来源: pages/common/masscan.md1-38 pages/pl/common/masscan.md1-26
Netcat (nc) 是一个多功能的网络工具,用于从网络连接读取和写入。它可以用于端口扫描、文件传输、端口监听以及作为简单的代理。
| 操作 | 命令 | 目的 |
|---|---|---|
| 监听连接 | nc -l -p PORT < FILE | 启动监听器并发送文件 |
| 连接到监听器 | nc HOST PORT > FILE | 连接到监听器并接收文件 |
| 端口扫描 | nc -v -z -w TIMEOUT HOST START-END | 扫描端口范围 |
| Shell 访问(监听器) | nc -l -p PORT -e SHELL | 启动带 Shell 访问的监听器(危险) |
| Shell 访问(客户端) | nc HOST PORT -e SHELL | 带 Shell 访问的连接(危险) |
| 代理连接 | nc -l -p LOCAL_PORT | nc HOST REMOTE_PORT | 在端口之间转发数据 |
| HTTP 请求 | echo -e "GET / HTTP/1.1\nHost: HOST\n\n" | nc HOST 80 | 发送 HTTP GET 请求 |
来源: pages/common/nc.md1-33 pages/es/common/nc.md1-33 pages/ko/common/nc.md1-33 pages/nl/common/nc.md1-33
以下是使用网络配置和诊断工具进行常见任务的实用示例
来源: pages/linux/ip-link.md1-33 pages/linux/ip-address.md1-29
来源: pages/linux/ip-route.md1-37 pages/linux/ip-route-get.md1-29
来源: pages/linux/ip-neighbour.md1-25 pages/common/masscan.md1-38 pages/common/nc.md1-33
tldr-pages 存储库中记录的网络配置和诊断工具为管理网络接口、IP 地址、路由表和诊断网络问题提供了一套全面的实用程序。这些工具对于系统管理员和网络工程师有效配置和故障排除网络基础设施至关重要。
Linux 系统上的 ip 命令套件提供了一个统一的网络配置接口,而 masscan 和 nc 等工具则提供了强大的诊断功能。通过理解这些工具及其在 tldr-pages 中记录的使用模式,用户可以高效地管理其网络基础设施。