Windows Server 2003, простейший снифер. В promiscuous mode всё прекрасно ловится. Если отключить этот режим, то никаких пакетов не видно. Код конечно выложить могу, но он простой как три рубля: Создаю сокет(socket(AF_INET, SOCK_RAW, IPPROTO_IP), вызываю байнд, затем ioctlsocket и наконец recv. Никаких ошибок не появляется, но и из recv не возвращается, хоть тресни.
А ты имееш ввиду, у тебя трафика нет на машине, который перехватывать, запусти интернет радио или открой браузер, вот и будет трафик, для перехвата. Или если есть вторая машина, соедини две машины в локальную сеть и начни пинговать, тоже будет трафик. Помоему если promiscuous режим выключен, то ты не можеш ловить сырые сокеты, можеш только TCP или UDP, в зависимости от ОС. Я когда сниф на шарпе писал, то я тестил на отлов траффика выше перечисленными методами. На плюсах вроде есть толковый рабочий пример на xakep.ru на все основные протоколы Ethernet, IP, TCP, UDP.
System0x29A Трафика навалом, я в сетке с сотнями компов и там NetBios как ошпаренный работает. Да и мой комп тоже неслабую активность проявляет. promiscuous влияет только на то, будет ли принимать комп не предназначенные ему пакеты или нет.
Да правильно, кстати не разбирался как слушать траф на чужих машинах. Там вроде надо втиснутся между двумя машинами как было написано в одной статье и отправить ARP пакеты чтобы подменить MAC адреса на двух машинах на свой адрес, и тогда каким то образом траф будет идти через твою машину. Но каким образом определить через что общается юзер за компиком? Наверное отсканить хост на открытые порты и попробовать сделать коннект к открытым портам телнетом, чтобы увидеть что на них висит.
System0x29A Ничего подменять не надо, пакеты и так идут через сетевуху, надо лишь сказать ей, чтобы она принимала абсолютно всё, что и делает promiscuous mode.
Похоже это как-то связано с поддержкой Raw протоколов. В promiscuous mode равным ноль, захватываются udp, но не tcp.
писал я когда то снифак - ну так для теста что бы разобратся с сетью хоть чуток - долго парился но вышло,почти. Как мне потом сказал незнакомец - В WIN XP( про пак не помню ) сделали фичу - если машина является инициатором подключения к интернет - драйвер лочит большую часть пакетом в promiscuous моде и отдает тебе только некоторые. Что как бы и сошлось с моими непонятками: два компа в сети подключены через свич друг с другом + общая сеть с инетом. Если комп1 подключён к инету и является шлюзом для компа2 и запустить мой "снифак" на комп2 то все хорошо просматривается,т.е. вижу пароли меилрушные у себя. Но когда комп2 подключён к инету видны были только некоторые пакеты - совсем мало и не помню точно какие. Открывал порты паходу так как и ты(точно не помню), если нужно могу исходник выложить полностью рабочий. Еще мне тот чел говорил что можно как-то через /dev/...(а что тут не помню к сожалению) все сделать, т.е. "вырубить защиту" хрюхину. Если подскажите что он имелд ввиду - буду благодарен, тогда я еще "боялся /dev).
Значит в разборчивом режиме отлавливаются только icmp и udp. В Server 2003 сырые сокеты как раз разрешены на этих уровнях. tcp не отлавливаются. net stop sharedaccess ничего не меняет. sometime Не понимаю при чём здесь инициатор подключения к интернету. Я в локальной сети и инициатором является шлюз провайдера, но это не суть важно, главное фреймы через мою сетевуху ходят нормально.
Booster ну я по своему примеру пытался объяснить, а то не особо я разбираюсь пока в этом всем) А фреймы ходят еще как, полюбому. mansurv насколько понимаю это виндозный фаерволл - вырубал и помимо него еще кучу всяких служб - ничего не помогло, думаю что там не так просто вырубить. А то зачем тогда было свой дров писать WinPcap -у, например.
Booster так я его впервые тогда тоже услышал( и больше не слышал)) - вполне возможно что и тот человек который мне это говорил сам такое и придумал, но как и говорил выше оно вполне совпало с моим вопросом.
Так там о инициаторе tcp соединения, это совсем другое. И в неразборчивом режиме такие tcp у меня отлавливаются. А вот в разборчивом ни входящие не исходящие не видны.
sometime Не то, чтобы я сколько-нибудь хорошо разбирался, но Вы явно пишете: Свитч (aka селектирующий концентратор aka сетевой коммутатор) выбирает (селектирует) самостоятельно, кому посылать пакеты. Так с чего бы это пакеты, предназначенные для одного хоста, должны идти другому? Другое дело, был бы то хаб (aka неселектирующий концентратор), рассылающий пакеты всем, кто подключён к нему.
l_inc ну что я тебе скажу - я не совсем понял о чём ты)) Ну свич, ну свичит он куда надо...а как это касается меня - не понял)
sometime Ну... Вы говорите, что не видели в promiscuous mode пакетов, которые предназначены другому хосту, и объясняете это тем, что драйвер чего-то там блокирует. Вот я и удивляюсь, какой нафек драйвер, если пакеты даже до сетевой платы не доходят.
Есть ещё такая вещь - WSAIoctl По описанию RCVALL_IPLEVEL не включает неразборчивый режим и отдаёт только IP. Но у меня видны не только пакеты с моим ip адресом. Cпуфинга arp вроде нет, маки в таблице все разные.