Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Как вручную собрать ethernet кадр?


Автор: iceL 25.11.2006, 18:24
Нужно собрать ethernet кадр вручную.
Пробовал использовать следующие модули:
   Net-Address-Ethernet-1.081.tar,
   Net-MAC-1.1.tar,
   Net-Packet-3.22.tar,
   Net-Pcap-0.14.tar,
   Net-PcapUtils-0.01.tar,
НО
нигде нельзя задавать MAC-адреса  и ip-адреса получателя и отправителя вручную в ethernet кадре (мне нужно указать несуществующие адреса).

SOS. Диплом горит!

С уважением, evilru.

Автор: Nab 26.11.2006, 04:24
Насколько я знаю MAC поменять нельзя... 
Его можно сменить только при подъеме интерфейса, но не в процессе работы..., да и то если сетевуха позволит.

Автор: DiverD 26.11.2006, 13:35
Насколька я понимаю речь идет о arp-спуфинге.
Посмори этот модуль http://samy.pl/packet/

Автор: iceL 28.11.2006, 01:30
Во-первых, огромное спасибо тем, кто откликнулся и ответил на мою проблему, а именно Nab'y и DiverD'y.

Во-вторых, я попробовал воспользоваться модулем с сайта http://samy.pl/packet/ который называется Packet::Ethernet, адрес то он может задавать, но вот выкинуть в сеть пакет с заданными MAC'ами он не способен, как я над ним не издевался.

В третьих, Nab, ты говоришь, что "сменить MAC можно только при подъеме интерфейса, но не в процессе работы..., да и то если сетевуха позволит. " Ты не мог бы попдробнее осветить этот вопрос. Как это сделать?

Чуствую с Perl мне эту задачу не решить. Думаю надо на Си попробовать.

Автор: Nab 28.11.2006, 07:02
Я думаю это все одно, на чем реализовывать, а принцип в общих чертах таков:
MAC адрес это "железный" адрес сетевухи, который по идее разработчиков должен был задаваться на заводе, при изготовлении. Большинство вендоров, производящих сетевые карты имеют свои, зарезервированные диапазоны. И кстати по ним можно узнать производителя конкретной сетевухи. Но с некоторых пор, то ли из-за нехватки адресного пространства, то ли еще чего, я не знаю главной причины, но MAC адрес сначала возможно было перешить в сетевухе специальной тулзой от производителя. А нынче можно задать при инициализации интерфейса...

МАС адрес как правило идентифицирует отправителя и получаетеля на самом низком, физическом уровне... Поэтому чтоб его подменить необходимо переинициализировать сетевой интерфейс... Для каждого пакета это сделать не реально... 

А как его сменить посмотри в винде в свойствах сетевой карты, под никсами глянь на параметр hw команды ifconfig.

Успехов...

Автор: DiverD 28.11.2006, 21:36
Тут наб прав, меняется все програмно в с-вах девайса под виндами и ifconfig под никсами.
iceL
Ты сам понимаешь что те нада? по всей вероятности ты хочешь зделать arp-spoofing как я выше указал, как гворит наб для каждого пакеджа у тебя адрес меняться не будет, по этой теме статей оч многа, поройся в сети - как на перле я не пробовал пока еще реализовывать а на СИ уже множество реализаций написано.
Прочти материал по спуфингу и сразу все поймеш.

Добавлено @ 21:39 
http://www.hackinthebox.org/modules.php?op=modload&name=News&file=article&sid=12868&mode=thread&order=0&thold=0
http://leo.uinc.ru/pdf/arp_spoofing_intro.pdf
http://www.megalib.com/books/387/060/1.htm

Добавлено @ 21:41 
Можешь подождать до след недели - я буду писать подобное, с написанием помогу.

Добавлено @ 21:47 
http://www2.packetstormsecurity.org/cgi-bin/search/search.cgi?searchvalue=arp+spoof&type=archives&%5Bsearch%5D.x=&%5Bsearch%5D.y=

Автор: iceL 30.11.2006, 10:39
   Пацаны, огромное спасибо за советы! Особенно за наводку на команду под *nix'ы - ifconfig:
   # ifconfig eth0 down
   # ifconfig  eth0 hw ether xx:xx:xx:xx:xx:xx
   # ifconfig eth0 up

   Как вы уже наверно поняли на выходе получаем интерфейс eht0 с заданным нам МАС адресом xx:xx:xx:xx:xx:xx.
   Более подробнее об этом написано на http://www.opennet.ru/base/sec/arc_sec.txt.html

Nab:"Для каждого пакета это сделать не реально... " Почему? Можно постоянно изменять МАС адрес, только для этого понадобится, естессено, постоянное обращение к ifconfig.

DiverD, я занимаюсь не ARP спуфингом, моя цель (она же и дипломная работа) - система эмуляции сетевой активности, способная эмилировать работу ftp, http и др. серверов c заданными ip, MAC адресами. Прочитал твои ссылки про спуффинг, очень интересная тема, но для сниффинга, а у меня генератор. Спасибо за расширение кругозора.

Автор: DiverD 30.11.2006, 20:31
iceL
Хм, ты уже собираешся эмулировать сервисы? т.е. делать как бы настоящие ( фэйки ) или что, я не пойму. 

Автор: iceL 2.12.2006, 01:58
Ну да, эмулировать сервисы... что-то типа лабораторной установки.

Пришёл первый курс в класс, где нет инета, им препод говорит:"Дети мои, на свете есть ftp-серверы." Включает эмулятор... вкл... детишки с помощью сниффера имеют счастье наблюдать как биты бегают в сети и что такое ftp-сервер на уровне пакетов.

Автор: DiverD 2.12.2006, 11:53
=) так поставь ftpd и ethereal =)

Автор: iceL 5.12.2006, 11:59
ftpd & ethereal - Это прекрасно, но мне нужно обязательно своё ПО, я ведь диплом пишу.

Автор: DiverD 5.12.2006, 12:35
Что касается снифинга то samy.pl и вот прочти http://www.otterbook.com/materials.html смори *PPLAY.pdf, глянь и др pdf, я ост не знаю. Вот те снифер http://thekonst.net/kripp поменяй капирайт и здай диплом =))
Ну а за сервисами в гугл. 

Автор: iceL 7.12.2006, 03:13
DiverD, спасибо за ссылки, особенно понравилась http://www.otterbook.com/materials.html никогда не видел, чтоб так доходчиво был изоброжён стек TCP/IP, главное весело).

и ещё - как напишешь свой генератор траффика поделись опытом, интересно как ты его реализовал.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)