В основном я хочу сделать что-то вроде strace ssh user @ host, и вместо того, чтобы видеть системные вызовы, я хочу наблюдать за пакетами соединения tcp при установке соединения.
У меня эта странная проблема между двумя конкретными машинами, где b может подключиться к a, но большую часть времени не может подключиться к b, а когда он может подключиться, соединение очень медленное, и требуется всего лишь минута, чтобы получить приветствие ssh.
Похоже, пакеты сбрасываются, поэтому я ищу способ диагностики. Я знаю, что могу запустить wirehark или что-то в этом роде (предложения приветствуются), но я подумал, есть ли что-то простое и конкретное для процесса, которое было бы удобно.
Вы можете отлично выполнять нюхание с помощью tcpdump
установить tcpdump
на debian, ubuntu
apt install tcpdump
на CentOS
yum install tcpdump
слушать пакеты tcp
сначала перечислите ваши интерфейсы
tcpdump -D
список / захват пакетов на интерфейсе eth0
tcpdump -n -i eth0
список / захват ТОЛЬКО TCP-пакетов на интерфейсе eth0
tcpdump -i eth0 tcp
скриншоты
Итак, я нашел свою проблему, это оказался скрипт, генерирующий множество правил удаления iptables. Я предполагаю, что один из IP-адресов, который он блокировал, был на одном из маршрутов между двумя машинами, поэтому он был прерывистым. Удаление правил iptables решило проблему.