Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

interrogare porta tcp/ip

1,147 views
Skip to first unread message

Dani

unread,
Apr 10, 2010, 3:31:03 AM4/10/10
to
Mi domandavo quale sia il metodo per interrogare vedere se una porta ᅵ
aperta oppure no. Un metodo simile al Ping ma su una porta specifica TCP.

Luca Pascali

unread,
Apr 10, 2010, 3:50:08 AM4/10/10
to
Dani wrote:
> Mi domandavo quale sia il metodo per interrogare vedere se una porta è

> aperta oppure no. Un metodo simile al Ping ma su una porta specifica TCP.

Specifica meglio: quello di cui parli è un TCPing? oppure qualcosa
simile a netstat per vedere se una tua porta è aperta o meno?

Nel primo caso è semplice: basta aprire una connessione verso quella
porta. Se la connessione si apre, ok. Se va in timeout la porta non è
aperta.
Appoggiandosi a PCap dovrebbe essere possibile fare una richiesta di
connessione "parziale", ossia mandare solo un Syn alla porta remota e
non mandare la connect (metodo utilizzato da programmi come nmap per
fare port scan su macchine remote)

Nel secondo caso non saprei. Cercare di aprire una connessione in listen
sulla porta in questione ti dice certamente se questa è libera o meno,
ma c'è sicuramente una via molto più semplice (e decisamente migliore)
per interrogare lo stack TCP e sapere quali porte sono aperte e quali no
sull'interfaccia di rete.


Nel caso del TCPing, prova a guardare qui
http://www.elifulkerson.com/projects/tcping.php
Dovrebbero esserci anche i sorgenti.

Luca

Alberto Dallagiacoma

unread,
Apr 11, 2010, 12:43:37 PM4/11/10
to
"Dani" <nos...@tin.it> wrote in message
news:4bc01b29$0$1144$4faf...@reader1.news.tin.it...

> Mi domandavo quale sia il metodo per interrogare vedere se una porta è

> aperta oppure no. Un metodo simile al Ping ma su una porta specifica TCP.

A questo indirizzo puoi trovare qualche suggerimento interessante:

http://stackoverflow.com/questions/570098/in-c-how-to-check-if-a-tcp-port-is-available

HTH,

--
Alberto Dallagiacoma - [MCP, MCTS SQL Server 2005]
My Blog: http://blogs.ugidotnet.org/Alby
DotDotNet: http://www.dotdotnet.org

Dani

unread,
Apr 12, 2010, 2:17:43 AM4/12/10
to
Il 10/04/2010 9.50, Luca Pascali ha scritto:
> Dani wrote:
>> Mi domandavo quale sia il metodo per interrogare vedere se una porta è
>> aperta oppure no. Un metodo simile al Ping ma su una porta specifica TCP.
>
> Specifica meglio: quello di cui parli è un TCPing? oppure qualcosa
> simile a netstat per vedere se una tua porta è aperta o meno?
>
> Nel primo caso è semplice: basta aprire una connessione verso quella
> porta. Se la connessione si apre, ok. Se va in timeout la porta non è
> aperta.
> Appoggiandosi a PCap dovrebbe essere possibile fare una richiesta di
> connessione "parziale", ossia mandare solo un Syn alla porta remota e
> non mandare la connect (metodo utilizzato da programmi come nmap per
> fare port scan su macchine remote)
Ho già trovato il modo di effettuare il ping verso un particolare IP o
range di IP ma non sulla porta specifica.

>
> Nel secondo caso non saprei. Cercare di aprire una connessione in listen
> sulla porta in questione ti dice certamente se questa è libera o meno,
> ma c'è sicuramente una via molto più semplice (e decisamente migliore)
> per interrogare lo stack TCP e sapere quali porte sono aperte e quali no
> sull'interfaccia di rete.

Temo di dover essere mooolto più specifico. In effetti il lavoro da fare
è lato Compact Framework (2.0-3.5) per scavalcare il problema del lungo
timeout della connect del tcpclient. Quando effettuo la connect dal
tcpclient o dal socket sottostante il tempo di timeout è di 50 sec non
modificabile. Ho visto che il ping invece ha dei tempi di risposta
notevolmente più bassi e personalizzabili e da li che mi è venuta l'idea
di cercare un metodo per interrogare una porta oltre all'IP. Se ottengo
risposta dall'IP interrogo la porta.


>
> Nel caso del TCPing, prova a guardare qui
> http://www.elifulkerson.com/projects/tcping.php
> Dovrebbero esserci anche i sorgenti.
>

Grazie, in ogni caso, del suggerimento.
> Luca

Dani

unread,
Apr 12, 2010, 2:22:51 AM4/12/10
to
Il 11/04/2010 18.43, Alberto Dallagiacoma ha scritto:
> "Dani" <nos...@tin.it> wrote in message
> news:4bc01b29$0$1144$4faf...@reader1.news.tin.it...
>
>> Mi domandavo quale sia il metodo per interrogare vedere se una porta è
>> aperta oppure no. Un metodo simile al Ping ma su una porta specifica TCP.
>
> A questo indirizzo puoi trovare qualche suggerimento interessante:
>
> http://stackoverflow.com/questions/570098/in-c-how-to-check-if-a-tcp-port-is-available
>
>
> HTH,
>

Ho dato un occhiata ai suggerimenti ma putroppo temo che alcuni di
questi metodi e classi mi siano preclusi sotto il compact framework. Ma
grazie ugualmente.

0 new messages