Модераторы: ginnie, korob2001
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запись данных из СОКЕТА в файл. open port 455 
:(
    Опции темы
DiverD
  Дата 2.2.2006, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 225
Регистрация: 14.9.2005
Где: Белорусь

Репутация: 1
Всего: 2



Хочу сделать следущее => скрипт открывает порт и слушает его.мне нужна все записывать в файл что попадает на этот порт,т.e. все покеты которые будут на него посланы будь то конект telnet-oм или сканирование портов метадом connect.
что мне нужна для этога?понимаю что сокеты использовать (может ошибаюсь еще до сетевога кодинга не дошел),куда копать?
--------------------
[ FreeBSD & pERL p0WER eVERY dAY ]
PM MAIL   Вверх
korob2001
Дата 3.2.2006, 07:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 6
Всего: 61



Посмотри эту тему:

http://forum.vingrad.ru/index.php?showtopic=82300

Может поможет.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
sharq
Дата 3.2.2006, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 3
Всего: 28



diverd
плюс можешь почитать книгу по Сетевому программирования на perl (Л. Штайн) и Рецепты.

smile

Это сообщение отредактировал(а) sharq - 3.2.2006, 11:27


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
Nookiem
Дата 10.3.2006, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.3.2006

Репутация: нет
Всего: нет



Попробывал программу сервера под WindowsXP, почему-то она не хочет открывать порт для прослушки, почему не пойму, не могли бы вы написать причину этого?
PM MAIL   Вверх
korob2001
Дата 10.3.2006, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 6
Всего: 61



Какую ошибку пишет? Вот эта строка:
Код

socket(SERVER, AF_INET, SOCK_STREAM, $prot) or die "Can't start server at port '$port': $!\n";

в STDERR должна вывести сообщение об ошибке. Это сообщение в студию.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Nookie
Дата 11.3.2006, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 4.7.2005
Где: Россия, Москва

Репутация: нет
Всего: нет



Выдает типо Unknow Error, не знаю что делать, ему же нет разницы какой порт, даже стандартный который там стоит 6666 не подходит!
Добавлено @ 09:53
и еще хочу спросить, можно ли найти книгу про сетевое программирование в электронном виде????

Жду новостеЙ!
--------------------
Хочу знать все!!!
PM MAIL ICQ Skype   Вверх
korob2001
Дата 11.3.2006, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 6
Всего: 61



open port 455, я так понимаю ты пытаешься открыть этот порт? Если да, то попробуй заюзать номер порта больше 2000, потому как система резервирует номера портов под свои нужды и не рекомендуется юзать номера портов с меньшим числом.
И отключи FireWall

Это сообщение отредактировал(а) korob2001 - 11.3.2006, 12:30


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
nitr
Дата 11.3.2006, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 2
Всего: 84



Практически говоря, запрещено ниже 2000 порта smile Т.к. считается что они зарезирвированы, если ты это знал, то следует, что ты пишешь троянца, и прикрываешься портом 455, очень похожего на системный (в винде) 445 ;) . За оффтоп, извините smile


--------------------
PM   Вверх
Nookie
Дата 13.3.2006, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 4.7.2005
Где: Россия, Москва

Репутация: нет
Всего: нет



Вот этого не надо, не пишу я никакого трояна, я просто хочу разобраться в чем дело! FireWall'a у меня нет, а порты больше 2000 также не открываются, что делать не знаю! подскажите!
--------------------
Хочу знать все!!!
PM MAIL ICQ Skype   Вверх
Lat1n0S
Дата 14.3.2006, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 1.1.2006

Репутация: нет
Всего: нет



Цитата

и еще хочу спросить, можно ли найти книгу про сетевое программирование в электронном виде????

Вот бука...правда на инглише
PM MAIL   Вверх
korob2001
Дата 15.3.2006, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 6
Всего: 61



Ты клиенту свой ip передаёшь при запуске? Вобщем сохрани клиент на винте:
Код

#!/usr/bin/perl -w
use strict;
use Socket qw(:DEFAULT :crlf);
use IO::Handle;

my $host = shift || "192.168.1.100";
my $port = shift || 6666;

my $pack_addr = gethostbyname($host);
my $proto     = getprotobyname('tcp');
my $dest      = sockaddr_in($port, $pack_addr);

socket(SOCK, PF_INET, SOCK_STREAM, $proto) or die "Can't create socket: $!\n";
connect(SOCK, $dest) or die "Can't connect to '$host' at port '$port': $!\n";
print <SOCK>;
close(SOCK);
print "For exit press 'ENTER'\n";
<>;

Имя файла не имеет значения. Затем запусти файл на выполнение. У меня сейчас работает сервер, к которому ты должен подключиться этим клиентом. И еще: Что у тебя за OS? Что за Perl?


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Lat1n0S
Дата 27.3.2006, 06:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 1.1.2006

Репутация: нет
Всего: нет



Код

#!/usr/bin/perl -w
package MyPackage;
use strict;
use vars qw(@ISA);
use Net::Server::PreFork;

@ISA = qw(Net::Server::PreFork);

MyPackage->run( port => 6666 );
exit;

sub process_request {
    my $self = shift;
    eval {

        local $SIG{ALRM} = sub { die "Timed Out!\n" };
        my $timeout = 30;

        my $previous_alarm = alarm($timeout);
        
        while (<STDIN>) {
            open(log , ">>server.log");
            print log "$var\n";
            close(log);
            alarm($timeout);
        }
        alarm($previous_alarm);

    };

    if ( $@ =~ /timed out/i ) {
        print STDOUT "Timed Out.\r\n";
        return;
    }

}

1;

Вот оно же:
http://search.cpan.org/~rhandom/Net-Server...b/Net/Server.pm

P.S. В *nix порты меньше 1024 биндяться только под рутом.
(А под виндой резервируються,порты? если да,то меньше какого числа?)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: Системное программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к системному программированию на Perl
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0507 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.