0%

Linux 常用网络工具清单

ping

「这些计算机还在线吗?」

curl

发送任何你需要的 HTTP 请求。

httpie

和 curl 一样,但操作更简单

wget

下载文件

tc

流量控制命令,可以降低其他人的网速

dig / nslookup

「这个域名的 IP 地址是多少?」(DNS 查询)

whois

「这个域名注册了吗?」

ssh

安全的 shell

scp

通过 SSH 协议拷贝文件

rsync

只拷贝有过改动的文件(通过 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 是什么意思

1
2
3
4
5
6
7
8
9
10
11
~ ➜ 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

进入一个容器进程的网络命名空间