Linux 常用网络工具清单
ping
「这些计算机还在线吗?」
curl
发送任何你需要的 HTTP 请求。
httpie
和 curl 一样,但操作更简单
wget
下载文件
tc
流量控制命令,可以降低其他人的网速
dig / nslookup
「这个域名的 IP 地址是多少?」(DNS 查询)
whois
「这个域名注册了吗?」
ssh
安全的 shell
scp
通过 SSH 协议拷贝文件
rsync
只拷贝有过改动的文件(通过 SSH 协议)
sshfs
使用的是SFTP协议,它是SSH的一个子系统,在大多数SSH服务器上默认启用;优点是不需要配置可以直接远程挂载安全性较好。
ngrep
网络版的 grep 命令
tcpdump
「把 80 端口的所有网络包展示给我!」
wireshark
通过 GUI 查看 tcpdump 抓的包
tshark
非常强大的网络报分析命令行工具
tcpflow
抓取与聚合 TCP 流
ifconfig
「我的 IP 地址是多少?」
route
查看和修改路由表
ip
用于代替 ifconfig、route 等其他命令
arp
查看你的 ARP 表
mitmproxy
具有 SSL/TLS 功能的交互式拦截侦听代理
MITM 是 Man-in-the-middle 的缩写。
nmap
网络连接端扫描软件
zenmap
nmap 的 GUI 版本
p0f
被动网络指纹识别工具
openvpn
VPN 软件
wireguard
新的 VPN 软件
nc
Netcat,手动建立 TCP 连接
socat
Netcat 的加强版,主要特点是在两个数据流之间建立通道
telnet
类似于 ssh,但不安全
ftp / sftp
用于文件拷贝,sftp 是基于 ssh 的。
netstat / ss / lsof / fuser
「服务器的哪些端口号被占用了?」
iptables
配置防火墙和 NAT
nftables
新版 iptables
hping3
TCP/IP 数据包组装/分析工具
traceroute / mtr
「数据包到达服务器的路径是什么?」
tcptraceroute
使用 TCP 包代替 ICMP 包的 traceroute 命令
现代网络广泛使用防火墙,导致传统路由跟踪工具发出的(ICMP应答(ICMP echo)或UDP)数据包都被过滤掉了,所以无法进行完整的路由跟踪。尽管如此,许多情况下,防火墙会准许TCP数据包通过防火墙到达指定端口,这些端口是主机内防火墙背后的一些程序和外界连接用的。通过发送TCP SYN数据包来代替UDP或者ICMP应答数据包,tcptraceroute可以穿透大多数防火墙。
ethtool
管理物理以太网连接和网卡
iw / iwconfig
管理无线网络设备的配置工具
sysctl
配置 Linux 内核的网络栈
openssl
用 SSL 证书做任何事
stunnel
为不安全的服务器做一个SSL代理
iptraf / nethogs / iftop / ntop
查看什么在占用带宽
ab / nload / iperf
基准测试工具
python -m SimpleHTTPServer
搭建当前目录下的文件服务器
ipcalc
IP 地址计算器,比如查看 13.21.2.3/15
是什么意思
~ ➜ ipcalc 13.21.2.3/15
Address: 13.21.2.3 00001101.0001010 1.00000010.00000011
Netmask: 255.254.0.0 = 15 11111111.1111111 0.00000000.00000000
Wildcard: 0.1.255.255 00000000.0000000 1.11111111.11111111
=>
Network: 13.20.0.0/15 00001101.0001010 0.00000000.00000000
HostMin: 13.20.0.1 00001101.0001010 0.00000000.00000001
HostMax: 13.21.255.254 00001101.0001010 1.11111111.11111110
Broadcast: 13.21.255.255 00001101.0001010 1.11111111.11111111
Hosts/Net: 131070 Class A
nsenter
进入一个容器进程的网络命名空间