Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Глюки ARP-кеша и получение MAC существующих хостов   Найти похожие ветки 

 
__Алексей__   (2010-01-07 13:47) [0]

Прошу поделиться соображениями по поводу одной проблемы.

Есть программа, которая определяет MAC-адреса станций по их IP-адресам. MAC определяется двумя способами:

1. Чтением ARP-кеша и поиском там искомого соответствия. По идее, после отправки ICMP-пакета нужному IP-адресу, этот адрес должен появится в ARP-кеше на 2 минуты. Но его там никогда не оказывается :( Именно в локальной сети одного удаленного пользователя.

2. Отправкой ARP-запроса на искомый IP-адрес. Функция SendARP всегда возвращает ошибку 67 - ERROR_BAD_NET_NAME. Т.е. пакет просто не нашел адресата. Хотя пинг на этот IP замечательно идет.

Периодически в ARP-кеше появляются некоторые адреса, которые запрашивались ранее. Но они присутствуют там со статусом INVALID (2).
Натолкните на мысль, отчего так ведет себя ARP в сети юзера. Сам он ни бельмес не понимает.

Как я понял, он может с одной тачки пинговать 2 подсети 10.150.x.x и 10.151.x.x

Может что-то с бриджем неверно сделано? Что с него еще спросить для выяснения проблемы? Может настройки сети какие...
В общем: МАСТЕРА, HELP!! :)

PS: Все IP-адреса, MAC которых программа пытается определить, пингуются и находятся в локальной коммутируемой сети.


 
Anatoly Podgoretsky ©   (2010-01-07 17:09) [1]

> __Алексей__  (07.01.2010 13:47:00)  [0]

Если адрес в другой сети, то МАС адреса как правило не будет.


 
Anatoly Podgoretsky ©   (2010-01-07 17:13) [2]

Не только в другой сети, сколько в другом физическом сегменте. Запросы ARP не марштуризируются.


 
__Алексей__   (2010-01-07 20:09) [3]

Дык хоть с одной из подсетей-то должен адресок засветиться в кеше? Если у него 2 подсети, 10.150.x.x и 10.151.x.x , то комп, на котором программа работает, находится в одной из них. IP-адреса, которые она пингует, примерно 50/50  - в своей и чужой подсетке. Значит хотя бы у половины адресов должно ж что-то застрять в кеше?

Может переполнение таблицы? Или ARP протокол не разрешен в сети? На эту мысль натолкнула ошибка SendARP 67 - ERROR_BAD_NET_NAME. Как будто пакет ARP "завернули" и он отрапортовал, что хост не найден.

То, что в  кеше нашлось 3 записи с INVALID-статусом можно объяснить Вашими доводами. Как правило INVALID записи могут являться адресами из другой физической сети и иметь вид 00-00-00-00-00-00.

Думаю попросить у юзера полный ARP-кеш после пинга на все адреса. Может он что даст понять...



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.083 c
6-1220943397
Layner
2008-09-09 10:56
2013.03.22
Расшифровать: " =?utf-8?Q?=D0=A0=D0=B0="....


2-1329733532
Drowsy
2012-02-20 14:25
2013.03.22
программа для обновления страницы браузера


15-1350904692
Newersim
2012-10-22 15:18
2013.03.22
Помогите перевести пару строк на с++


15-1343881225
xss22
2012-08-02 08:20
2013.03.22
Система диалогов


15-1347417456
Думкин
2012-09-12 06:37
2013.03.22
Программистов - С Днем!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский