Если у меня сеть выглядит так:
56.56.56.56 192.168.0.1/24
___________
---| Modem 1 |-----
| ___________ | ___________
11.22.33.44 ---| |--------| Machine |
| ___________ | ___________
---| Modem 2 |----- 192.168.0.3/24
___________
67.67.67.67 192.168.0.2/24
... где модем 1 и модем 2 перенаправляют порт ssh на 192.168.0.3.
Когда я звоню tcpdump port ssh
на машине с адресом 192.168.0.3, а затем ssh с 11.22.33.44 на 56.56.56.56, результат будет выглядеть примерно так:
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:51:16.147870 IP 11.22.33.44.55936 > 192.168.0.3.ssh: Flags [S], seq 642687408, win 14600, options [mss 1460,sackOK,TS val 1631250991 ecr 0,nop,wscale 7], length 0
16:51:16.147957 IP 192.168.0.3.ssh > 11.22.33.44.55936: Flags [S.], seq 55101726, ack 642687409, win 28960, options [mss 1460,sackOK,TS val 1829635753 ecr 1631250991,nop,wscale 7], length 0
16:51:17.147444 IP 11.22.33.44.55936 > 192.168.0.3.ssh: Flags [S], seq 642687408, win 14600, options [mss 1460,sackOK,TS val 1631251992 ecr 0,nop,wscale 7], length 0
Как вы видете, tcpdump
появляется только для того, чтобы дать мне исходный IP-адрес в качестве «исходного» IP-адреса и «конечный» IP-адрес в качестве целевого.
Какая команда нужна, чтобы сообщить tcpdump
распечатать или отфильтровать по:
Tcpdump захватывает только сами пакеты и не имеет дополнительной информации о маршрутах / внешнем исходном адресе / и т. Д.
-e
параметр командной строки tcpdump
для отображения заголовка Ethernet фреймов.В соответствии с выражения tcpdump синтаксис которого - BPF:
tcpdump эфирный хост 11: 22: 33: 44: 55: 66
выгружает все пакеты на этот MAC-адрес или с него
Это отвечает (1) и (3).
Что касается (2), исходный IP-адрес меняется после NAT, поэтому вам понадобится машина вне NAT, чтобы засвидетельствовать этот IP.