Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Eugene B. Berdnikov                  2:5020/400     30 Mar 2005  20:08:26
 To : Eugene Grosbein
 Subject : Re: arp
 -------------------------------------------------------------------------------- 
 
 Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote:
 
 EG> 29 мар 2005, вторник, в 16:08 KRAST, Eugene B. Berdnikov написал(а):
 EG> 
  EG>>> 18:38:28.711898 0:3:47:32:f0:9a ff:ff:ff:ff:ff:ff 0806 60: arp who-has
  EG>>> x.x.64.3 (ff:ff:ff:ff:ff:ff) tell x.x.64.3
  EBB>>  Подозрительно, что target считается не-юникастом.
 EG> 
 EG> А кем должен быть target в ARP-запросе, как не бродкастом?
 
  Правильно, но я про то, что поле THA (target hardware address - в скобках)
  заполнено не нулями. Спецификация arp допускает там не нули, "если это
  используется для конкретной реализации протокола", на практике такое
  я встречал у некоторых ОС при попытке послать юникастовый пакет на
  бродкастовый адрес, например. А солярис, по-моему, всегда шлёпает
  туда ff:ff:ff:ff:ff:ff.
 
  Hасчёт линукса - никогда не замечал за ним такой шизы. Послать
  юникастовый пакет на бродкастовый адрес он точно не даст, во всяком
  случае, через обычный сокет, а может ли возникнуть ситуация, когда THA
  заполнится не нулями - надо смотреть сорцы ядра. Я сейчас посмотрел
  бегло 2.4.27 - не нашёл таких мест. Мне кажется, это некий довод
  в пользу того, что пакет генерится HЕ линуксом.
 
  EBB>> Hе описан ли где-нибудь
  EBB>>  по ошибке x.x.64.3 как малтикастовый адрес, для аннонса маршрутов,
  EBB>>  например?
 EG> 
 EG> Линукс не роутер, не должно такого быть. Где смотреть?
 
  Прежде всего на x.x.64.3, если он существует. И на шлюзе, однозначно.
  Если в сети есть машины с солярисом, проверьте обязательно.
  А также все машины, у которых в арповых THA сидят единицы - просканьте
  сеть, их легко найти.
 
  EBB>>  Кстати, покажите выдачу линукса на
  EBB>>    ip a
 EG> 
 EG> 1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
 EG>     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 EG>     inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
 EG> 4: eth0: <BROADCAST,MULTICAST,AUTOMEDIA,UP> mtu 1500 qdisc pfifo_fast qlen
 EG> 1000    link/ether 00:03:47:32:f0:9a brd ff:ff:ff:ff:ff:ff    inet
 EG> 192.168.0.2/24 brd 192.168.0.255 scope global eth0 5: eth1:
 EG> <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000    link/ether
 EG> 00:03:47:32:f0:9b brd ff:ff:ff:ff:ff:ff
 
  Ага, карт-то две, однако. Здесь может быть возможность транзита
  "паразитного" трафика, если eth1 стоит в режиме бриджа.
  Это двухпортовый Intel или просто изернетины из одной партии?
 
  EBB>>    ip m
 EG> 
 EG> 1:      lo
 EG>         inet  224.0.0.1
 EG> 4:      eth0
 EG>         link  01:00:5e:00:00:fb
 EG>         link  01:00:5e:00:00:01
 EG>         inet  224.0.0.1
 EG>         inet  224.0.0.251
 
  Малтикастовый dns. Можно прибить это чудо для профилактики... ;)
 
  EBB>>  Что говорит на линуксе ip n s ?
 EG> 
 EG> 192.168.0.1 dev eth0 lladdr 00:0c:f1:b8:ce:86 nud reachable
 
  Линукс даже не пытается резолвить x.x.64.3 - делайте выводы.
  Согласуется с тем, что arp-запросы x.x.64.3 на линуксе не видны.
 
  EBB>>  Счётчики на интерфейсах крутятся? Или это мнимые пакеты?
 EG> 
 EG> В каком смысле мнимые? Счетчики крутятся - трафик-то ходит нормальный.
 
  Мнимые в том смысле, что наблюдаемый tcpdump'ом arp на самом деле
  не соответствует никаким передаваемым по кабелю пакетам.
  Достаточно перекрыть пакетными фильтрами весь ip-трафик с двух сторон
  и посмотреть по счётчикам, действительно ли в кабеле что-то ходит.
 
  Точнее, скажем так - 1. приходят ли эти пакеты по кабелю со стороны
  линукса, и 2. видит ли их линуксовый драйвер (про pcap пока не будем).
 
 EG> Гигабитного хаба нет. Кроме того, я верю FreeBSD - если она на интерфейсе
 EG> видит tcpdump'ом входящий пакет с чужого MAC-адрес, значит он был.
 
  Если есть рассогласование в одном методе измерений (tcpdump), то надо
  задействовать другие методы - счётчики пакетов, например. Согласование
  между линуксовым tcpdump и ip nei проверено - похоже на правду.
 
  EBB>> Если ходят - соберите на линуксе свежий tcpdump-3.8.3.
 EG> 
 EG> И на линуксе и на фре одна версия tcpdump: 3.7.2. Фревый пакеты видит.
 EG> В общем мне не настолько хочется увидеть пакеты на линуксе, чтобы
 EG> на чужой в общем машине менять софт :-) А убить эти пакеты очень
 EG> хочется.
 
  Hу зачем менять, :) принесите бинарник (можно с либами + LD_LIBRARY_PATH)
  или соберите на месте - сорцы лежат на tcpdump.org. Впрочем, я склоняюсь
  к тому, что tcpdump не врёт.
 -- 
  Eugene Berdnikov
 --- ifmail v.2.15dev5.3
  * Origin: Institute for High Energy Physics, Protvino, Russia (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: arp   Eugene B. Berdnikov   30 Mar 2005 20:08:26 
Архивное /ru.linux/3651cca2bd04.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional