|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alan Long 2:5030/1082.72 07 May 2002 02:32:39 To : dia Subject : Получение вывода от программы -------------------------------------------------------------------------------- * Originally from dia (2:5020/400) to All. d> From: "dia" <dia@aero.kamchatka.ru> d> Вот хотелось бы обрабатывать то что генерит tcpdump и затем писать d> MSSQL. Посоветуйте как правильно открыть tcpdump в перловом скрепте? d> Я пробовал так, но что то выдаёт в час по чайной ложке: d> #!/usr/bin/perl d> $pid = open(README, "tcpdump -i eth2|") or die "Hезапускается"; здесь не плохо-бы с буферизацией разобратся: select( README ); $| = 1; select( STDOUT ); $| = 1; d> while () { Видимо должно быть: while( <README> ) { d> $output = $_; d> print $output; d> } d> close(README); Если указанное выше не поможет - то посмотреть в сторону Expect и IPC, так как там с буферизацией более правильно работает, а тут именно буферизация... d> Да всё это работать должно под Linux. Тогда может стоит поискать на CPAN-е интерфейс к pcap (по-моему библиотека перехвата пакетов так называется) может кто добрый уже написал, тогда программа сама будет выполнять функции tcpdump-а. Если тебе трафик считать, то наверное лучше было-бы взять что-то готовое и не мучится с разбором того, что дает тебе tcpdump. d> С наилучшими пожеланиями, Игорь Демченко -- With best, Ъ-· Ъ Е-ЧLaі\і <alan@x-rays.eu.org> --- timEd/386 1.10+ * Origin: X - Rays Station (2:5030/1082.72) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/4581cd704751.html, оценка из 5, голосов 10
|