You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
utilizando a função CONNECT().<br />
conexao = connect(e_socket,(struct sockaddr * )&destino, sizeof<br />
(destino));<br />
if(conexao < 0) {<br />
perror("Porta fechada !\n");<br />
close(e_socket);<br />
exit(1);<br />
}<br />
printf("A PORTA 22 DO SSH ESTA ABERTA !\n");<br />
close(e_socket);<br />
}<br />
Vamos compilar o programa para testarmos, no prompt de seu Linux<br />
digite :<br />
oldmbox# gcc –o ex1 ex1.c<br />
Com o programa compilado digite :<br />
oldmbox# ./ex1<br />
Se sua porta 22 estiver aberta, a resposta será o seguinte :<br />
oldmbox# A PORTA 22 DO SSH ESTA ABERTA !<br />
Caso contrário a resposta será negativa.<br />
A função getservbyport() :<br />
Esta função permite que possmaos determinar que serviço está sendo<br />
executado em uma determinada porta TCP. A mesma se baseia no<br />
arquivo services, utilizando-o como referência. Ele necessita da<br />
declaração abaixo, no início de seu programa :<br />
#include <br />
Onde o protótipo da função é desvrito da seguinte maneira :<br />
struct servent *getservbyport(int port, const char *proto);<br />
Onde a estrutura servent está definida da seginte forma na biblioteca<br />
netdb.h :<br />
struct servent {<br />
char *s_name;<br />
char **s_aliases;<br />
int s_port;<br />
char *s_proto; }<br />
Vamos analisar cada ítem deste structure abaixo :<br />
29