Forum Webscript.Ru
Программирование => Perl => Тема начата: cr4ck3r от 24 Марта 2006, 12:58:13
-
Интересует сабж. Есть ли в природе? Или аналоги - позволяющие работать с ip-пакетами на самом низком уровне?
-
Net::Packet::RAW
http://search.cpan.org/~gomor/Net-Packet-2.20/Packet/RAW.pm
Оно?
-
Нет. Вот этот:
http://search.cpan.org/~skolychev/Net-RawIP-0.2/RawIP.pm
Но идея именно в его портируемости под ActivePerl.
А лучше - если бы существовал в репозитарии для ppm.
-
Ну libpicap под вынь давно есть, вот только боюсь модуль прйидется переписать под новые реалии.
-
А перекомпилировать самому? или найти что-то другое?
-
Под win данный сишник (тот что в модуле) не собереться.
Так что "перекомпелировать" отпадает.
А вот что-то другое я как раз и пытаюсь найти... но увы пока безрезультано :(
-
А если через MinGW? всмысле через эмулятор линукса? gcc должен откомпелировать... хотя... возни-то сколько будет... легче другой модуль найти :)
-
Нашел довольно интересный модуль - заточен под Win, но не портирован для ppm, попробую его заюзать.
http://search.cpan.org/~jlmorel/Win32-NetPacket-0.03/lib/Win32/NetPacket.pm
Хотя вот нашел и под ppm:
ppm install http://www.bribes.org/perl/ppm/Win32-NetPacket.ppd
В частности думаю это мне поможет:
SendPacket
$success = $nic->SendPacket( $packet )
This method is used to send a raw $packet to the network through the
$nic adapter . "Raw packet" means that the programmer will have to
build the various headers because the packet is sent to the network
"*as is*". The user will not have to put a "bpf_hdr" header before
the packet. Either the CRC needs not to be calculated and added to
the packet, because it is transparently put after the end of the
data portion by the network interface.
The optimised sending process is still limited to one packet at a
time: for the moment it cannot be used to send a buffer with
multiple packets.
Вообще репозиторий полезный - советую всем.
http://www.bribes.org/perl/ppmdir.html