Teste de portas

1. Teste de portas

Ramon Sales
RamonSales

(usa Ubuntu)

Enviado em 22/03/2016 - 01:31h

Preciso criar um programa em C que que receba dois
argumentos:

– Endereço IP ou nome de host

– Porta
O programa deve checar se o endereço, IP ou nome do host existe, dando uma mensagem de erro caso não exista,
se Existir o endereço, IP ou nome do host, o programa deve;
fazer conexão na porta indicada, fornecendo uma mensagem se a conexão teve sucesso ou não e desconectar.

O programa deve usar a função getaddrinfo.

Desde já Agradeço. =D


  


2. Re: Teste de portas

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/03/2016 - 09:52h

E qual a sua dúvida?


3. Re: Teste de portas

Paulo
paulo1205

(usa Ubuntu)

Enviado em 22/03/2016 - 10:08h

SalesRamon escreveu:

Preciso criar [enunciado de questão].

Desde já Agradeço. =D


Agradece por quê? Por ter tomado nosso tempo com a leitura de um enunciado de uma coisa que é você quem precisa fazer?


4. Re: Teste de portas

Patrick Costa da Silva
patrickpcs

(usa Nenhuma)

Enviado em 22/03/2016 - 10:19h

Tlezentos leais mais tlez plasteis di flango.

https://www.google.com.br/search?client=ubuntu&channel=fs&q=programando+em+c&ie=utf-8&am...
http://goo.gl/g6NiFp


5. Re: Teste de portas

Ramon Sales
RamonSales

(usa Ubuntu)

Enviado em 23/03/2016 - 04:29h

Preciso descobrir quais portas estão abertas, não encontrei muita coisa útil o melhor que consegui foi essa questão que achei em um forum.


6. Re: Teste de portas

Ramon Sales
RamonSales

(usa Ubuntu)

Enviado em 23/03/2016 - 04:31h



Se não tens capacidade de ajudar faça o favor de não fazer comentários desnecessários.


7. Re: Teste de portas

Paulo
paulo1205

(usa Ubuntu)

Enviado em 23/03/2016 - 08:11h

Não será muito produtivo reclamar das ironias. Você foi quem começou com a deselegância ao pedir que fizessem seu trabalho por você.

Mais útil será você mostrar o que já conseguiu fazer e a parte ou função com que está tendo dificuldades. Aí, sim, você vai receber ajuda (que provavelmente será apenas pontual, para você poder seguir em frente por conta própria).


8. Re: Teste de portas

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/03/2016 - 11:11h

SalesRamon escreveu:

Preciso criar um programa em C que que receba dois
argumentos:

– Endereço IP ou nome de host

– Porta
O programa deve checar se o endereço, IP ou nome do host existe, dando uma mensagem de erro caso não exista,
se Existir o endereço, IP ou nome do host, o programa deve;
fazer conexão na porta indicada, fornecendo uma mensagem se a conexão teve sucesso ou não e desconectar.

O programa deve usar a função getaddrinfo.

Desde já Agradeço. =D


Você sabe abrir/fechar socket? Sei não ...

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



9. Re: Teste de portas

Bruno Thomaz
SarusKant

(usa CentOS)

Enviado em 23/03/2016 - 13:38h

Cara, é simples
Primeiro você deve validar, o host informado getaddinfo é uma função que retorna o ip referente ao nome do host que você informou, mas lembre que deve fazer um match para descobrir se o valor informado é um ip ou um hostname, posterior a isso utilize sockets para a informação, por padrão a conexão em C responde com um boolean que vai te dizer se conseguiu abrir a porta ou não, fazendo isso vai de sua interpretação de como deve apresentar as respostas ou erros.

Leia sobre Sockets em C.

--
Bruno Thomaz


10. Re: Teste de portas

Paulo
paulo1205

(usa Ubuntu)

Enviado em 23/03/2016 - 14:25h

SarusKant escreveu:

Cara, é simples
Primeiro você deve validar, o host informado getaddinfo é uma função que retorna o ip referente ao nome do host que você informou, mas lembre que deve fazer um match para descobrir se o valor informado é um ip ou um hostname, posterior a isso utilize sockets para a informação, por padrão a conexão em C responde com um boolean que vai te dizer se conseguiu abrir a porta ou não, fazendo isso vai de sua interpretação de como deve apresentar as respostas ou erros.

Leia sobre Sockets em C.


É quase isso. getaddrinfo() vai além de devolver o IP referente a um nome. A entrada da função não é necessariamente um nome, mas uma especificação de serviço (que pode incluir um nome), e a saída é uma lista encadeada formada por elementos que contêm dados prontos para uso com as chamadas bind() e connect().

Se o nosso colega se ao trabalho de ler a manpage de getaddrinfo(), verá que ela traz dois exemplos de uso (de programas que se complementam), sendo um deles um programa que realiza uma conexão a serviço externo, e o outro de um que recebe uma conexão vinda de fora.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts