Bem Pessoal ta ae um SOurce Code de um soket em C q testa a porta 22, verificando se está aberta ou nao ...
#include
#include
#include
#include
#include
int e_socket;
struct sockaddr_in destino;
int conexao;
main ()
{
e_socket=socket (AF_INET, SOCK_STREAM,0);
if(e_socket <0)
{
perror("ERRO !");
EXIT (1);
}
destino.sin_family=AF_INET;
destino.sin_port=htons(22);
destino.sin_addr.s_addr= inet_addr("10.0.0.20");
bzero(&(destino.sin_zero),8);
conexao = connect(e_socket,(struct sockaddr*)&destino,
sizeof(destino));
if (conexao<0) {
perror ("Porta Fechada! \n");
close (e_socket);
exit(1);
}
printf ("A PORTA 22 ESTÁ ABERTA !\n");
close (e_socket);
}
Vamos agora a explicação
destino.sin_family=AF_INET; ==> Tipo de family do socket, sendo os padroes mais comuns os seguintes ...
AF_INET - ARPA INTERNET PROTOCOLS
AF_UNIX - UNIX INTERNET PROTOCOLS
AF_ISSO - ISO PROTOCOLS
AF_NS- XEROX NETWORKS SYSTEM PROTOCOLS
destino.sin_port=htons(22); ==> A porta de comunicaçao, q pode ser predefinida ou receber valores (sacaram?)
destino.sin_addr.s_addr= inet_addr("10.0.0.20"); ==> ta óbvio ... o IP
bzero(&(destino.sin_zero),8); ==> Zera a estrutura do Socket
a declaracao do socket é feita da seguinte maneira:
e_socket=socket(sin_family, tipo_do_socket,numero do protocolo)
Nº protocolo:
0 - IP
1 - ICMP
2 - IGMP
3 - GGP
6 - TCP
17 - UDP
....
depois posto mais funcoes com sockets
Putz, eskeci de postar a fonte ...
AE o edit está fazendo falta
H4CK3R Nº4 = AUTOR Antonio Marcelos da Bufferoverflow