Forum Webscript.Ru

Программирование => Perl => Тема начата: cr4ck3r от 24 Марта 2006, 12:58:13

Название: Net::RawIP для ActivePerl?
Отправлено: cr4ck3r от 24 Марта 2006, 12:58:13
Интересует сабж. Есть ли в природе? Или аналоги - позволяющие работать с ip-пакетами на самом низком уровне?
Название: Net::RawIP для ActivePerl?
Отправлено: Skif от 24 Марта 2006, 14:29:50
Net::Packet::RAW

http://search.cpan.org/~gomor/Net-Packet-2.20/Packet/RAW.pm


Оно?
Название: Net::RawIP для ActivePerl?
Отправлено: cr4ck3r от 24 Марта 2006, 14:43:34
Нет. Вот этот:

http://search.cpan.org/~skolychev/Net-RawIP-0.2/RawIP.pm

Но идея именно в его портируемости под ActivePerl.
А лучше - если бы существовал в репозитарии для ppm.
Название: Net::RawIP для ActivePerl?
Отправлено: Skif от 24 Марта 2006, 18:28:26
Ну libpicap под вынь давно есть, вот только боюсь модуль прйидется переписать под новые реалии.
Название: Net::RawIP для ActivePerl?
Отправлено: Алан от 27 Марта 2006, 14:07:20
А перекомпилировать самому? или найти что-то другое?
Название: Net::RawIP для ActivePerl?
Отправлено: cr4ck3r от 27 Марта 2006, 15:03:42
Под win данный сишник (тот что в модуле) не собереться.
Так что "перекомпелировать" отпадает.
А вот что-то другое я как раз и пытаюсь найти... но увы пока безрезультано :(
Название: Net::RawIP для ActivePerl?
Отправлено: Алан от 27 Марта 2006, 16:34:53
А если через MinGW? всмысле через эмулятор линукса? gcc должен откомпелировать... хотя... возни-то сколько будет... легче другой модуль найти :)
Название: Net::RawIP для ActivePerl?
Отправлено: cr4ck3r от 29 Марта 2006, 18:11:34
Нашел довольно интересный модуль - заточен под 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