[tutorial] socket em perl - servidor
2 participantes
Página 1 de 1
[tutorial] socket em perl - servidor
bom galera socket e um meio de comuniçao entre dois ou mais computadores, para usar os socket em perl agente vai ter q declarar a biblioteca de funçao IO::Socket::INET e depois agente cria uma instancia para isso atribuimos o IO::Socket::INET->new() a uma variavel.
bom agente vai criar um servidor para isso agente vai ter q definir o nosso ip no caso o loopback, a porta, o protocolo, e a quantidade de conexao, o ip agente usa LocalAddr, a porta agente usa LocalPort, o protocolo Proto e quantidade de conexao Listen e vamos passar essa informaçao dentro de new()
no exemplo acima eu definir o ip de loopback a porta 315 o protocolo tcp e 2 conexao, agora vamos aceitar a conexao para isso usamos a instancia $fts->accept() e atribuimos ela a uma variavel
assim q vc executar o script acima ele vai ficar aguardando uma conexao e quando alguem conectar ao seu ip pela 315 usando o protocolo tcp ele vai finalizar (isso pq ele so ta esperando a conexao nao tem nenhuma outra funçao), no exemplo abaixo e parecido com o anterior so q exibe uma menssagem no servidor quando recebe a conexao
agente nao fez o cliente ainda entao como agente pode testar? para isso vamos usar o telnet basta abrir o prompt e digitar
no exemplo anterior ele vai exibir uma mensagem assim q conectar com telnet, vamos fazer nosso servidor enviar uma mensagem para o cliente assim q conectar, para isso vamos usar nossa variavel q atribuimos ao accept, nessa variavel vamos passar send() e passamos como argumento a mensagem
agora vamos fazer o nosso cliente escrever alguma coisa e depois enviar para o servidor para ele exibir, para isso vamos usar recv() ao inves de send(), no recv passamos como argumento uma variavel q vai receber os dados e o tamanho, no caso vou chamar essa variavel de $lol
o recv ele recebe os dados caracter por caracter entao agente teria q criar um loop para poder escrever uma string
bom galera e isso, essa e a parte servidor logo irei fazer um outro tutorial ensinado a parte cliente
by hacker fts315
- Código:
#!/usr/bin/perl
use IO::Socket::INET;
$fts = IO::Socket::INET->new();
bom agente vai criar um servidor para isso agente vai ter q definir o nosso ip no caso o loopback, a porta, o protocolo, e a quantidade de conexao, o ip agente usa LocalAddr, a porta agente usa LocalPort, o protocolo Proto e quantidade de conexao Listen e vamos passar essa informaçao dentro de new()
- Código:
#!/usr/bin/perl
use IO::Socket::INET;
$fts = IO::Socket::INET->new(LocalAddr=>"127.0.0.1",LocalPort=>315,Proto=>"tcp",Listen=>2);
no exemplo acima eu definir o ip de loopback a porta 315 o protocolo tcp e 2 conexao, agora vamos aceitar a conexao para isso usamos a instancia $fts->accept() e atribuimos ela a uma variavel
- Código:
#!/usr/bin/perl
use IO::Socket::INET;
$fts = IO::Socket::INET->new(LocalAddr=>"127.0.0.1",LocalPort=>315,Proto=>"tcp",Listen=>2);
$hack = $fts->accept();
assim q vc executar o script acima ele vai ficar aguardando uma conexao e quando alguem conectar ao seu ip pela 315 usando o protocolo tcp ele vai finalizar (isso pq ele so ta esperando a conexao nao tem nenhuma outra funçao), no exemplo abaixo e parecido com o anterior so q exibe uma menssagem no servidor quando recebe a conexao
- Código:
#!/usr/bin/perl
use IO::Socket::INET;
$fts = IO::Socket::INET->new(LocalAddr=>"127.0.0.1",LocalPort=>315,Proto=>"tcp",Listen=>2);
$hack = $fts->accept();
print "conecto";
agente nao fez o cliente ainda entao como agente pode testar? para isso vamos usar o telnet basta abrir o prompt e digitar
telnet 127.0.0.1 315
no exemplo anterior ele vai exibir uma mensagem assim q conectar com telnet, vamos fazer nosso servidor enviar uma mensagem para o cliente assim q conectar, para isso vamos usar nossa variavel q atribuimos ao accept, nessa variavel vamos passar send() e passamos como argumento a mensagem
- Código:
#!/usr/bin/perl
use IO::Socket::INET;
$fts = IO::Socket::INET->new(LocalAddr=>"127.0.0.1",LocalPort=>315,Proto=>"tcp",Listen=>2);
$hack = $fts->accept();
print "conecto";
$hack->send("conecto");
agora vamos fazer o nosso cliente escrever alguma coisa e depois enviar para o servidor para ele exibir, para isso vamos usar recv() ao inves de send(), no recv passamos como argumento uma variavel q vai receber os dados e o tamanho, no caso vou chamar essa variavel de $lol
- Código:
#!/usr/bin/perl
use IO::Socket::INET;
$fts = IO::Socket::INET->new(LocalAddr=>"127.0.0.1",LocalPort=>315,Proto=>"tcp",Listen=>2);
$hack = $fts->accept();
$hack->recv($lol,1000);
print $lol;
o recv ele recebe os dados caracter por caracter entao agente teria q criar um loop para poder escrever uma string
- Código:
#!/usr/bin/perl
use IO::Socket::INET;
$fts = IO::Socket::INET->new(LocalAddr=>"127.0.0.1",LocalPort=>315,Proto=>"tcp",Listen=>2);
$hack = $fts->accept();
while(1)
{
$hack->recv($lol,1000);
print $lol;
}
bom galera e isso, essa e a parte servidor logo irei fazer um outro tutorial ensinado a parte cliente
by hacker fts315
Tópicos semelhantes
» [tutorial] struct em perl
» [tutorial] socket em perl - cliente
» [tutorial] fork em perl
» [tutorial] regex em perl
» [tutorial] hash no perl
» [tutorial] socket em perl - cliente
» [tutorial] fork em perl
» [tutorial] regex em perl
» [tutorial] hash no perl
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos