Я сбрасываю исходящий трафик. Мне нужны только пакеты TCP и UDP, предназначенные за пределами моей локальной сети, и ничего больше. Я просто использовал следующий фильтр с ТСРйитр:Как я могу сбросить только исходящие IP-пакеты в tcpdump?
ip and (tcp or udp) and (not icmp) and src host myIPAddr and not dst net myNet/myNetBits and not ip broadcast
Но я захватил следующий пакет:
###[ Ethernet ]###
dst = ff:ff:ff:ff:ff:ff
src = 00:1e:4a:e0:9e:00
type = 0x806
###[ ARP ]###
hwtype = 0x1
ptype = 0x800
hwlen = 6
plen = 4
op = who-has
hwsrc = 00:1e:4a:e0:9e:00
psrc = X.X.X.X
hwdst = 00:00:00:00:00:00
pdst = Y.Y.Y.Y
###[ Padding ]###
load = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Что здесь произошло? Я думал, что я демпинг только IP-пакеты.
спасибо за ответ. Я просто попытался добавить это условие к своему фильтру, и я все равно получаю пакеты вроде следующего: '### [Ethernet] ### dst = ff: ff: ff: ff: ff src = 00: 1e: 4а: е0: 9e: 00 Тип = 0x806 ### [ARP] ### = 0x1 тип аппаратуры PTYPE = 0x800 hwlen = 6 PLEN = 4 оп = кто-имеет hwsrc = 00: 1e: 4а: е0: 9e: 00 КРОУ = XXXX hwdst = 00: 00: 00: 00: 00: 00 pdst = YYYY ### [Набивка] ### нагрузка = «\ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00'' –
Я могу легко отфильтровать не-IP-пакеты после демпинга, но я не понимаю, почему он просто не будет работать с простым фильтром, подобным приведенному выше. –
Ну ARP используется IP, как указано в: http://www.ietf.org/rfc/rfc894.txt. Вы можете попробовать также фильтр 'not ether proto arp', чтобы попытаться удалить arp-пакеты (я долго не смотрел код tcpdump, поэтому не могу вспомнить точный подход к фильтрации) –