[命令] Linux 命令 tcpdump (网络抓包)

案例一:将所有抓到的网络数据包导入到某个文件里

# tcpdump -i any -w /tmp/telnet.cap

(注意:此时会抓取所有的网络数据包,并保存到文件 /tmp/telnet.cap,想要退出则同时按下 “ctrl” 键和 “c” 键)

(补充:这里以将所有抓到的数据包导出到 /tmp/telnet.cap 文件为例)

案例二:将某个网卡抓到的网络数据包导入到某个文件里

# tcpdump -i eth0 -s 0 -w /tmp/$(hostname)-$(date +"%Y-%m-%d-%H-%M-%S").pcap host 192.168.1.1 and host 192.168.1.2

(注意:此时会抓取所有的网络数据包,并保存到文件 /tmp/telnet.cap,想要退出则同时按下 “ctrl” 键和 “c” 键)

(补充:这里以将网卡 eth0 IP 地址是 192.168.1.1 和 192.168.1.2 抓到的数据包导出到 /tmp/$(hostname)-$(date +”%Y-%m-%d-%H-%M-%S”).pcap 文件为例)

[内容] 全球公共免费 DNS

AdGuard

94.140.14.14
94.140.14.15
94.140.15.15
94.140.15.16

Cloudflare

1.0.0.1
1.0.0.2
1.0.0.3
1.1.1.1
1.1.1.2
1.1.1.3

COMODO

8.20.247.20
8.26.56.26

DNS Watch

84.200.69.80
84.200.70.40

Dyn

216.146.35.35
216.146.36.36

Level 3

209.244.0.3
209.244.0.4

Neustar

156.154.70.1
156.154.71.1

FreeDNS

37.235.1.174
37.235.1.177

Google

8.8.4.4
8.8.8.8

OpenDNS

208.67.220.220
208.67.222.222

SAFEDNS

195.46.39.39
195.46.39.40

Symantec

199.85.126.10
199.85.137.10

[排错] 解决 SSH 远程登录时很慢但 ping 时延迟很低

分析

ssh 远程某台服务器时很慢,但是 ping 时延迟却很低。这可能是 DNS 解析出现问题造成的,禁用服务器上 sshd 的 GSSAPIAuthentication 参数和 UseDNS 参数可以解决,这两个参数的作用是:
1) GSSAPIAuthentication,当服务器的 sshd 服务此参数处于开启状态时,客户端 SSH 登录此服务器时,客户端会对服务器的 IP 地址进行 PTR 反解析,获得服务器的域名,再通过服务器的域名对服务器进行 DNS A 正向 IP 地址解析,通过此方法来防止欺骗。
2) UseDNS,当服务器的 sshd 服务此参数处于开启状态时,客户端 SSH 登录此服务器时,服务器会对客户端的 IP 地址进行反解析,获得客户端的域名,再通过客户端的域名对客户端进行 DNS A 正向 IP 地址解析,通过此方法来防止欺骗。

解决方法

方法一:忽略 DNS

1.1 修改 SSH 的配置文件

# vim /etc/ssh/sshd_conf

将以下内容:

......
UseDNS yes
......
GSSAPIAuthentication yes
......

修改为:

......
UseDNS no
......
GSSAPIAuthentication no
......

1.2 让修改的 SSH 配置文件生效

# systemctl restart sshd

方法二:重启 systemd-logind

2.1 重启 dbus

# systemctl restart dbus

2.2 重启 systemd-logind

# systemctl restart systemd-logind

(注意:如果不重启 dbus 直接重启 systemd-logind 则可能会报错)