Вот код который посылает Ethernet->IP->TCP(SYN) пакет через pcap_sendpacket. Если указать свой адаптор и свой IP то получите в ответ Ethernet->IP->TCP(SYN+ACK). 1640046175__Ethiptcp.rar
Flasher не хотит работать В чем это выражается? Например, у меня pcap_open_live возвращает NULL, устанавливает LastError в значение 2 (ERROR_FILE_NOT_FOUND) и заполняет errbuf: "Error opening adapter: Не удается найти указанный файл". Небольшое замечание по поводу твоего кода от Янв 7, 2005 13:36:39. После вызова pcap_open_live желательно вытолкнуть из стека шестнадцать байт, т.к. в библиотеке wpcap используется сишное соглашение вызова функций.
q_q У меня установлен WinPcap v3.1 beta4. pcap_open_live NULL не возвращает. pcap_sendpacket пакеты отправляет.(в цыкле) Но результата нету. Еслиб ещё знал - как У меня xp sp2 стоит, мож там чё примудрили мелкасофтовцы? Хотя бинарник winarpw'a же работает.
Flasher У меня w2ksp4 и wpcap v3.0. Посмотрел какое имя устройства возвращает pcap_findalldevs из winarpw, заменил значение szDivise, pcap_open_live перестала возвращать NULL. Но результата нету. А какого результата ты добиваешься - "после получения этих покетов отключаешся от сети"? Наблюдается ли этот же эффект при использовании winarpw? Чей ip-адрес использован в программе? Еслиб ещё знал - как Я наврал - 20 байт - add esp,14h
С определением адаптера проблем нет. q_q Ты не в локальной сети? Появляется надпись возле часиков "Конфликт IP-адреса с другой системой в сети". И сеть перестаёт работать. (потом, в долёком будущем конечно нуно сделать так, чтоб был результат без надписи.) _1072482399__print_screen.jpg
Flasher Ты не в локальной сети? Да. Появляется надпись возле часиков ... сеть перестаёт работать Я не давал программе выполнять pcap_sendpacket. И пока не горю желанием. Тебе достаточно будет asm-вариант winarpw.c? Vovane Понятно.
q_q Не совсем понял что ты имел в виду, да и не важно, кажется ты думаешь я буду использовать в корыстних целях. Благодарю, что всё это время возился сомной Спасибо!
Flasher Не совсем понял что ты имел в виду Т.к. получается, что тебе не достаточно уже приведенного кода, то могу перевести весь winarpw.c не asm. ты думаешь я буду использовать в корыстних целях Мне все равно как ты будешь его использовать.
q_q Там-же почти нечего перевести, разве что функцию pcap_findalldevs для получения дескриптора адаптера, но я могу и вручную поставить, мнеб главное чтоб результат был после отправки пакетов.
Извините за археологию, но как это сделать? Мне тоже актуально переделать прогу с Си на Асм. Или имеется ввиду запустить программу в IDA pro, а полученный код править и ассемблировать?
Какой древний пост вы откапали Да, можно сышный исходник скомпилировать потом в IDA pro посмотреть что да как..
M0rg0t Зачем ИДА Можно C сразу в асм листинг компилировать - ключи: /FA, /FAc, /FAs, /FAcs Только имхо лучше или писать асм вариант самому, используя сишный исходник не более чем как памятку по алгоритму, либо не связываться с асмом вообще
Просто перечитываю весь раздел нетворкс на предмет полезных вещей. Кстати, много чего хорошего нашел) Спасибо! попробую. Знаний мало пока что писать на асме с нуля, а переделать си код и его разбирать (в целях практики и обучения) - имхо, проще.