GARANTIR DESCONTO

Fórum Como descobrir se a porta esta aberta? #300758

25/10/2005

0

Colegas, como faço para descobrir se determinada porta tcp esta aberta?
obrigado.


Randallo

Randallo

Responder

Posts

25/10/2005

Massuda

Um jeito é verificar se uma determinada porta está em uso; uma porta aberta significa que ela está aguardando uma conexão (está ´ouvindo´). Tente instalar um servidor (por exemplo, um TSocketServer, um TIdTCPServer, etc) que use a porta; se falhar, é porque a porta já está em uso.


Responder

Gostei + 0

27/10/2005

Randallo

Blz Massuda, mas através da API do windows, sera que não existe nenhuma função que retorne se a porta esta aberta ou não?
obrigado,

Rândallo Prux


Responder

Gostei + 0

27/10/2005

Martins

[b:2cf413a0ca]Randallo[/b:2cf413a0ca], acredito q utilizando idéia passada pelo [b:2cf413a0ca]Massuda[/b:2cf413a0ca], vc poderia tratar esse erro para obter o status de sua porta, se não for retornado nenhum erro, a porta está fechada, caso contrário está aberta, vc poderia usar:
Try
    ...
  {seus comandos...}
  Except
    ...
  {seus comandos...}
  End; 



Boa sorte!!!


Responder

Gostei + 0

27/10/2005

Massuda

...através da API do windows, sera que não existe nenhuma função que retorne se a porta esta aberta ou não?
Não tem nenhuma rotina pronta... se quiser pode usar a unit WinSock e abrir ´na unha´ um socket em uma determinada porta em modo listen... se falhar, a porta está em uso/aberta caso contrário estava fechada. Qualquer que seja o método que você optar, lembre de fechar o socket/servidor porque se a porta não estava aberta, com o teste você abriu a porta.


Responder

Gostei + 0

06/12/2006

Eniorm

Ae, tentei usar o IdTCPServer mas toda hora que o programa abre da erro dizendo que o endereço/porta ja está em uso, mas acontece que não

alguem tem alguma dica?

abraço


Responder

Gostei + 0

06/12/2006

Massuda

[quote:a2a799f6c0=´Enio Marconcini´]...o endereço/porta ja está em uso, mas acontece que não[/quote:a2a799f6c0]Se você tem um servidor usando uma determinada porta, mesmo que não existam conexões ativas, a porta está aberta/em uso pelo servidor.

Nesse tópico que você desenterrou, a pessoa queria saber se a porta está aberta; no seu caso realmente está. Se o servidor iniciasse sem erro, significa que a porta estava fechada.


Responder

Gostei + 0

06/12/2006

Eniorm

então, deixa eu explicar melhor

o programa ira rodar em localhost (127.0.0.1) APENAS, não ira monitorar nenhum outro micro da rede.

preciso saber, se uma determinada porta está CONECTADA,

com o netstat -n aparece

TCP 192.168.0.42:2901 208.98.7.8:6667 ESTABLISHED


indica que existe coneção feita na porta local [b:6f0fcff7f7]2901[/b:6f0fcff7f7]

seria exatamente isso que eu precisava!!!

abraço


Responder

Gostei + 0

06/12/2006

Massuda

Sem querer ser rude... mas afinal, o que você quer? Pelos tópicos que desenterrou, dá a impressão que você quer saber quais os usuários conectados no servidor InterBase.


Responder

Gostei + 0

06/12/2006

Martins

Sem querer ser rude... mas afinal, o que você quer? Pelos tópicos que desenterrou, dá a impressão que você quer saber quais os usuários conectados no servidor InterBase.


é o q parece, se for isso ele não pode usar os componentes para saber isso?


Responder

Gostei + 0

07/12/2006

Eniorm

cara, como disse, só quero saber se existe conexão em uma determinada porta TPC. Nada de IB etc... mas isso pode me ser útil no futuro, mas no momento bastaria saber como programar isso no Delphi

abraços


Responder

Gostei + 0

08/12/2006

Massuda

É possível fazer via SNMP, mas não teria um exemplo disso. Buscando no Google, achei esta ferramenta com código fonte em Delphi...

[url=http://www.wilsonc.demon.co.uk/d7portanalyzer.htm]IP Port Analyzer[/url] de Colin Wilson

...que parece fazer o que você deseja.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar