curl

Intro: 发送请求

Examples:

# 并发执行 curl 命令,最多 10 个线程
# 1.
$ seq 1 10 | xargs -n1 -P10 curl "https://www.google.com"
 
# 隐藏 curl 输出
$ curl -s "https://www.google.com" > /dev/null

dig

dnsperf

Intro: DNS 性能压测工具

Install:

# ubuntu
$ apt-get install -y dnsperf
 
# centos
$ yum install -y dnsperf

Examples:

# 构造 DNS 查询记录
$ cat <<EOF >records.txt
baidu.com A
www.baidu.com A
mail.baidu.com A
github.com A
www.yahoo.com A
www.microsoft.com A
www.aliyun.com A
developer.aliyun.com A
www.tencentcloud.com A
kubernetes.io A
kubernetes A
kubernetes.default.svc.cluster.local A
kube-dns.kube-system.svc.cluster.local A
EOF
 
 
$ dnsperf -l 10 -s 127.0.0.1 -Q 100 -d records.txt

journalctl

Intro: 查看 CentOS 系统 systemd 日志

Examples:

# 获取系统启动记录
 
$ journalctl --list-boots
-1 6436baaf9ffd4122bf6ff4704e87de27 Sun 2023-10-22 15:49:49 CST—Mon 2023-10-23 10:41:47 CST
0 b1b0fbdda6344d91815684bd6a910281 Mon 2023-10-23 10:44:09 CST—Mon 2023-10-23 14:35:29 CST
 
# 显示本次启动的信息
$ journalctl -b -0
 
# 显示上次启动的信息
$ journalctl -b -1
 
# 显示自 xx 时间点开始的日志
$ journalctl --since="2023-10-21 17:00:00"
 
# 显示自 x 时间点到 y 时间点的日志
 
$ journalctl --since="2023-10-21 17:23:29" --util="2023-10-21 18:00:00"

netstat

Intro: 查看网络状态

Install:

# ubuntu
$ apt-get install -y net-tools

Examples:

$ netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c

nslookup

Intro: 域名解析查询

Install:

# centos
$ yum install -y bind-utils

Examples:

$ nslookup www.baidu.com
 
# 指定查询 A 记录
$ nslookup -type=a www.baidu.com

ps

Intro: 查看进程状态

Install:

# ubuntu
$ apt-get install -y procps

tar

# 解压压缩包文件到指定文件夹
mkdir ${dirname}
tar -zxvf archive.tar.gz -C ${dirname} --strip-components=1

tcpdump

Install:

# install on ubuntu
$ apt-get install -y dnsutils
 
# install on centos
$ yum install -y bind-utils

Examples:

# 列出所有网卡接口:
tcpdump -D
 
# 抓取指定网卡 eth1 ,按照每个文件大小 10M 输出抓包内容到文件 dump.cap 中:
$ tcpdump -nni eth1 -w dump.cap -C10M -Zroot
 
$ tcpdump -nnn -i any src host 127.0.0.1 and port 53 -tttt -Zroot

wrk