命令与脚本:网络连接与传输 · 从接口、邻居与连通性定位故障
命令与脚本:网络连接与传输
从接口、邻居与连通性定位故障
先查看接口与 ARP 邻居,再检查主机或端口可达性。ICMP ping 与 TCP 检测各自保留,便于区分失败发生在哪一层。
ifconfig · 网络接口配置工具
- 查看某个网络接口的网络设置:
bash
ifconfig {{接口名称}}- 显示所有接口的详细信息,包括已禁用的接口:
bash
ifconfig -a- 禁用一个接口:
bash
ifconfig {{接口名称}} down- 启用一个接口:
bash
ifconfig {{接口名称}} up- 为一个接口分配 IP 地址:
bash
ifconfig {{接口名称}} {{ip地址}}arp · 显示和操作系统的 ARP 缓存
更多信息:https://manned.org/arp.8。
- 显示当前的 ARP 表:
bash
arp -a- 删除特定条目:
bash
arp -d {{地址}}- 创建指定条目:
bash
arp -s {{地址}} {{MAC 地址}}arp-scan · 发送 ARP 数据包到特定主机(指定 IP 地址或主机名),来扫描本地网络
- 扫描当前本地网络:
bash
arp-scan {{[-l|--localnet]}}- 扫描带有自定义位掩码的 IP 网络:
bash
arp-scan {{192.168.1.1}}/{{24}}- 扫描自定义范围内的 IP 网络:
bash
arp-scan {{127.0.0.0}}-{{127.0.0.31}}- 扫描带有自定义子网掩码的 IP 网络:
bash
arp-scan {{10.0.0.0}}:{{255.255.255.0}}ping · 向网络主机发送 ICMP (ECHO_REQUEST) 数据包
另请参阅:
mtr。 更多信息:https://manned.org/ping。
- Ping 主机:
bash
ping {{主机地址}}- 仅 Ping 主机特定次数:
bash
ping -c {{次数}} {{主机地址}}- Ping 主机,指定请求之间的间隔(以秒为单位)(默认为 1 秒):
bash
ping -i {{间隔秒数}} {{主机地址}}- Ping 主机而不尝试查找地址的符号名称:
bash
ping -n {{主机地址}}- Ping 主机并在收到数据包时响铃(如果您的终端支持):
bash
ping -a {{主机地址}}- 如果没有收到响应,也显示一条消息:
bash
ping -O {{主机地址}}- Ping 主机,指定 ping 次数、每个数据包的响应超时 (
-W)和整个 ping 运行的总时间限制 (-w):
bash
ping -c {{次数}} -W {{响应超时秒数}} -w {{总的等待超时秒数}} {{主机地址}}x ping · ping 命令的增强模块
- ping 指定的主机(省略则默认为 bing.com):
bash
x ping {{host}}- 以热力图形式显示 ping 结果:
bash
x ping {{[-m|--heatmap]}} {{host}}- 以柱状图形式显示 ping 结果:
bash
x ping {{[-b|--bar]}} {{host}}- 处理现有 ping 结果并以热力图显示:
bash
ping {{host}} | x ping vis {{[-m|--heatmap]}}- 显示帮助:
bash
x ping {{[-h|--help]}}x tping · 通过 TCP 协议 ping 主机以检查其可达性
- 使用详细模式 Ping 主机的 80 端口(默认端口):
bash
x tping {{host}}- Ping 指定主机的特定端口:
bash
x tping {{host}}:{{port}}- 以热力图形式显示结果:
bash
x tping {{[-m|--heatmap]}} {{host}}- 以柱状图形式显示结果:
bash
x tping {{[-b|--bar]}} {{host}}:{{port}}- 输出原始数据:
bash
x tping {{[-r|--raw]}} {{host}}- 输出指定格式:
bash
x tping {{--csv|--tsv}} {{host}}netstat · 显示与网络相关的信息,如打开的连接、打开的套接字端口等
另请参阅:
ss。 更多信息:https://manned.org/netstat。
- 列出所有端口:
bash
netstat {{[-a|--all]}}- 列出所有被监听端口:
bash
netstat {{[-l|--listening]}}- 列出 TCP 连接(仅监听需再加 -l):
bash
netstat {{[-t|--tcp]}}- 显示 PID 和程序名:
bash
netstat {{[-p|--program]}}- 持续列出信息:
bash
netstat {{[-c|--continuous]}}- 列出路由并且不解析 IP 到主机名:
bash
netstat {{[-rn|--route --numeric]}}- 列出正在监听的 TCP 和 UDP 端口(如果你是 root 用户,还会显示用户和进程):
bash
netstat {{[-tulpne|--tcp --udp --listening --program --numeric --extend]}}nmap · 网络探索工具和安全/端口扫描程序
某些功能(如 SYN 扫描)仅当以 root 权限运行
nmap时才能激活。 另请参阅:hping3,masscan,naabu,rustscan,zmap。 更多信息:https://nmap.org/book/man.html。
- 使用不同的详细([v]erbosity)级别扫描远程主机的前 1000 个端口:
bash
nmap -v{{1|2|3}} {{ip或主机名}}- 对整个子网或单个主机进行非常激进的 ping 扫描:
bash
nmap -T5 -sn {{192.168.0.0/24|ip或主机名1,ip或主机名2,...}}- 对来自文件的主机启用操作系统检测、版本检测、脚本扫描和路由跟踪:
bash
sudo nmap -A -iL {{路径/到/文件.txt}}- 扫描特定的端口列表(使用
-p-扫描从 1 到 65535 的所有端口):
bash
nmap -p {{端口1,端口2,...}} {{ip或主机名1,ip或主机名2,...}}- 使用默认 NSE 脚本执行前 1000 个端口的服务和版本检测,将结果(
-oA)写入输出文件:
bash
nmap -sC -sV -oA {{top-1000-ports}} {{ip或主机名1,ip或主机名2,...}}- 使用
default and safeNSE 脚本谨慎地扫描目标:
bash
nmap --script "default and safe" {{ip或主机名1,ip或主机名2,...}}- 使用所有可用的
http-*NSE 脚本扫描在标准端口 80 和 443 上运行的 Web 服务器:
bash
nmap --script "http-*" {{ip或主机名1,ip或主机名2,...}} -p 80,443- 尝试通过使用极慢扫描(
-T0)、诱饵源地址(-D)、分段([f]ragmented)数据包、随机数据和其他方法来规避 IDS/IPS 检测:
bash
sudo nmap -T0 -D {{诱饵ip1,诱饵ip2,...}} --source-port {{53}} -f --data-length {{16}} -Pn {{ip或主机名}}zmap · 用于全网范围调查的快速、开源网络扫描器
另请参阅:
hping3,masscan,naabu,nmap,rustscan。 更多信息:https://manned.org/zmap。
- 扫描一个子网或整个 IPv4 地址空间上的指定 TCP 端口(默认:80):
bash
zmap {{SUBNETS}} {{[-p|--target-ports]}} {{端口}}- 在一个子网中扫描指定的端口或端口范围:
bash
zmap {{[-p|--target-ports]}} {{端口1, 端口2-端口3,...}} {{SUBNETS}}- 将结果输出到包含自定义字段的 CSV 文件中:
bash
zmap {{[-o|--output-file]}} {{路径/到/输出文件.csv}} {{[-f|--output-fields]}} "{{saddr, daddr, sport, dport}}" {{SUBNETS}}- 将扫描速率限制为每秒指定数量的数据包:
bash
zmap {{[-r|--rate]}} {{每秒数据包数}} {{SUBNETS}}- 执行一次不发送任何数据包的空跑:
bash
zmap {{[-d|--dryrun]}} {{SUBNETS}}- 使用 CIDR 表示法的阻止列表文件来排除子网:
bash
zmap {{[-b|--blocklist-file]}} {{路径/到/阻止列表.txt}} {{SUBNETS}}- 为扫描数据包设置指定的源 IP 地址:
bash
zmap {{[-S|--source-ip]}} {{源_ip}} {{SUBNETS}}- 限制要探测的目标数量或百分比(例如 1000 个 IP/端口组合):
bash
zmap {{[-n|--max-targets]}} {{1000}} {{SUBNETS}} {{[-p|--target-ports]}} {{端口1, 端口2-端口3}}nload · 在终端中可视化查看网络流量
更多信息:https://manned.org/nload。
- 查看所有网络接口的流量(使用
<ArrowKeys>切换不同网口):
bash
nload- 查看指定网络接口的流量(使用
<ArrowKeys>切换网口):
bash
nload devices {{网口1 网口2 ...}}继续阅读
- 文件与文本处理完整实践与解答
- 文件与文本处理上手与对象
- 文件与文本处理任务与配置