CapeCod Опубликовано 25 января, 2011 · Жалоба Преподаватель предоставил .pcap файл, содержащий набор захваченных на интерфейсе пакетов. Задача состоит в том, чтобы самостоятельно сгенерировать идентичный поток пакетов имея коммутатор и несколько лэптопов. Прилагаю сам: .pcap файл. Кто может объяснить в деталях, что здесь происходит? Общий смысл конечно понятен: имеется 3 машины, одна с IP-адресом 192.168.1.43 и две с адресом 192.168.1.42. Налицо конфликт. Однако, поведение машины .43 смоделировать самостоятельно не получается. Буду признателен за помощь :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ingress Опубликовано 25 января, 2011 · Жалоба http://www.authsecu.com/arpflood/arpflood.php Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
qwertzy Опубликовано 25 января, 2011 (изменено) · Жалоба Кто может объяснить в деталях, что здесь происходит? Общий смысл конечно понятен: имеется 3 машины, одна с IP-адресом 192.168.1.43 и две с адресом 192.168.1.42. Налицо конфликт. Однако, поведение машины .43 смоделировать самостоятельно не получается.Не наоборот одна машина(Asustek 00:15:f2:f0:44:86) с IP-адресом 192.168.1.42 и две (IBM 00:0d:60:75:c5:6c и 00:0d:60:75:ca:f1) с IP-адресом 192.168.1.43 В деталях, хм машина .42 хочет послать пакет на ip .43, для этого она пытается узнать соответствующий мак адрес посылая широковещательный arp запрос, и получает 2 ответа, ессно с разными маками. Они сохраняются в кеше. После одна из .43 оправляет запрос arp с ip .42 и машина .42 отвечает два раза (на оба мака из кеша). Потом начинается какой то странный пинг понг. Однако, поведение машины смоделировать самостоятельно не получается.Gratuitous ARP выключите, ну и про фильтр в шарке не забудьте.Вам проф. сказал какая ось себя так ведёт? А то похоже на реликт 90х Изменено 25 января, 2011 пользователем qwertzy Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mcdemon Опубликовано 26 января, 2011 · Жалоба что-то непонятны 2 и 3 пакеты, почему нет сообщения про конфликт? Ну а дальше непонятно, почему при всего 1ном запросе, получаем несколько ответов. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 26 января, 2011 · Жалоба АРП простой как 2 рубля. Потрудитесь нарисовать на бумажке пакет, хотя бы просто в виде полей/абстрактной структуры для си и вопросов больше не будет. Давече сам переписывал фряшный. Оказалось она hlen и plen не проверяет, но использует в memcpy и прочих расчётах, со всеми вытекающими. Разработчики уме второй месяц вату катают, вместо добавления моего патча :) В деталях, хм машина .42 хочет послать пакет на ip .43, для этого она пытается узнать соответствующий мак адрес посылая широковещательный arp запрос, и получает 2 ответа, ессно с разными маками. Они сохраняются в кеше.Нет, в кеш добавится только одна запись.Задача кеша хранить соотвествие ип-мак, чтобы знать на какой мак слать ип пакеты. Первая или последняя - зависит от реализации. что-то непонятны 2 и 3 пакеты, почему нет сообщения про конфликт?Ну а дальше непонятно, почему при всего 1ном запросе, получаем несколько ответов. Дали лог с пакетами отловленными в сети - куда там про конфликт писать?) Сами хосты с одинаковыми ип могут быть воткнуты в какой нибудь коммутатор с изоляцией портов и не видеть друг друга в принципе. Или ещё какие нибудь конфигурации могут быть, вплоть до того что хостам фиолетово, линукс/фряха ругаются себе в лог и дальше пашут. В данном случае 6с ответил один раз на броадкаст, первым, второй ответ ф1 затёр его haddr в кеше 86 хоста, и дальше обмен шёл между 86 и ф1. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
CapeCod Опубликовано 26 января, 2011 · Жалоба Спасибо за комментарии :) Не наоборот одна машина(Asustek 00:15:f2:f0:44:86) с IP-адресом 192.168.1.42 и две (IBM 00:0d:60:75:c5:6c и 00:0d:60:75:ca:f1) с IP-адресом 192.168.1.43Абсолютно верно, перепутал. АРП простой как 2 рубля.Да я с ARP знаком, не первый год в индустрии :) Глубоких деталей не знаю, это да. Нет, в кеш добавится только одна запись.Задача кеша хранить соотвествие ип-мак, чтобы знать на какой мак слать ип пакеты. Первая или последняя - зависит от реализации. Тоже абслютно верно, НО... тогда возникает вопрос по пакетам 5 и 6. Какого лешего .42 отвечает сразу двум .43 машинам? Запись-то одна в ARP-таблице. Вам проф. сказал какая ось себя так ведёт? А то похоже на реликт 90хНет, таких подсказок он к сожалению не дает. Меня тоже этот вопрос ОС мучил. Поэтому я проверил на Win7, Ubuntu и MacOS. Ни одна из них не ведет себя так, как в этом логе. Вот пара вопросов на которые препод ответил на форуме курса: - Does capture 6 require a setup with more than one switch? - No, it does not. However it requires at-least 3 systems. - Can we use VMware for the assignment so we don't need to have a physical switch? - Yes, you can use vmware. However, log 5 and 6 can be hard to replicate using a virtual switch. В пятом задании надо было догадаться сделать петлю в сети, чтобы бродкаст закольцевался. Просто одним патчкордом замыкали 2 порта на свиче. Аналогия с пятым заданием и отмеченная "cложность" его реализации на виртуальном свиче подталкивает меня к мысли, что все же надо как-то этот свич нестандартно использовать и в 6м задании. А как можно нестандартно использовать любой маленький L2-коммутатор? Разве что петлю сделать, или переполнить ARP таблицу, сделав из него хаб. Чай не Extreme операторский какой-нибудь с миллионом маков, хотя и такие переполняли :D Какие идеи? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
CapeCod Опубликовано 26 января, 2011 · Жалоба Если кому-то интересно, я выложил полную версию лабы. Это вводная лаба на одном из курсов магистрской программы королевского технического университета Швеции. Можно использовать при приеме на работу новичков ;) Только ссылку на KTH сохраняйте при использовании, тут с этим строго. http://dl.dropbox.com/u/1117969/arplab.tar.gz Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 26 января, 2011 · Жалоба Я малость напутал в описании процесса. - Does capture 6 require a setup with more than one switch?- No, it does not. However it requires at-least 3 systems. А зачем больше одного?) Схема примерно такая. на 86 запускается пинг на адрес 1.43 потому машина 86 броадкастит арпрегвест на 1.43 адрес. ей отвечают 6с и ф1 6с отвечает первой и оказывается в арп кеше через 5 сек (видимо таймаут передачи пинга, а сетевой стёк не сохранил пакет на время арп регвеста и не послал после получения ответа) на с6 улетает второй пингпакет с6 спрашивает 86 где 1.42 (видимо чтобы ответ прислать на пинг) 86 отвечает с6 что это он 1.42 почему там на времени 5.2 уходит ответ на ф1 я не знаю, может вырезали кусок или пакет потерялся или я не правильно понял. Дальше похоже что ф1 настойчиво пытается представится что у него 1.43 адрес - спуфинг, но 86 плюёт на это (возможно в лог себе). В доке вам даже подсказка: arp-sk http://sid.rstack.org/arp-sk/ PS: я произвольные arp пакеты генерил своей прогой, которая на фряхе через bpf их в сеть засылала. Кода на полторы страницы, мне требовалось произвольно задавать plen и hlen, лень было искать чужие тулсы, и не умеют они этого. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...