Come posso usare netcat come ping?

4

Come possiamo usare netcat ( nc ) per determinare se una determinata macchina sta eseguendo servizi web, mail o SSH?

    
posta stevGates 17.11.2015 - 22:30
fonte

4 risposte

7

Per identificare se un server è in esecuzione, è solo necessario determinare se la porta è aperta per le richieste. Usando netcat, puoi interrogare un server come questo:

nc -z www.example.com 80

Questo ti dirà se sta ascoltando sulla porta 80, la porta web, ma non dirà nient'altro sul server.

Per usare netcat per saperne di più, devi passare i dati corretti per ottenere una risposta valida. Ciò significa che devi capire http se vuoi scoprire se è in esecuzione un server web, smtp se sta eseguendo un mittente della posta, ecc. Devi sapere su quale porta viene eseguito un server web, il nome del server, il protocollo , qualunque cosa.

Ecco un semplice esempio di come determinare se www.example.com ospitasse un server web in tempo reale utilizzando netcat.

echo -e "GET http://www.example.com HTTP/1.0\n\n" | nc www.example.com 80 | less 

Se questo torna con una risposta contenente HTTP/1.0 200 OK , è in esecuzione un server Web sulla porta 80. In caso contrario, potrebbe non essere in esecuzione un tipico server Web.

Dovrai scoprire e comprendere i protocolli dei server di posta e dei server ssh se desideri interrogarli in modo simile.

Tuttavia, Netcat è davvero lo strumento sbagliato per questo lavoro. Se si desidera identificare i tipi di server su cui è in esecuzione un host, nmap è uno strumento molto migliore in quanto viene aggiornato con le varie impronte digitali dei server comuni che è probabile incontrare.

    
risposta data 18.11.2015 - 00:13
fonte
1

Rispondi a ciò che è stato chiesto, senza ulteriori suggerimenti o informazioni.

Per verificare se il servizio è in esecuzione sul server remoto.

nc -zvn IP PORT

es. per testare smtp

nc -zvn 10.8.0.45 25
    
risposta data 16.12.2015 - 09:57
fonte
0

Questo potrebbe rispondere alla tua domanda; netcat può eseguire alcune scansioni della porta:

"Port-scanning is a popular method for exploring what's out there. Netcat accepts its commands with options first, then the target host, and everything thereafter is interpreted as port names or numbers, or ranges of ports in M-N syntax. CAVEAT: some port names in /etc/services contain hyphens -- netcat currently will not correctly parse those, so specify ranges using numbers if you can. If more than one port is thus specified, netcat connects to all of them, sending the same batch of data from standard input [up to 8K worth] to each one that is successfully connected to. Specifying multiple ports also suppresses diagnostic messages about refused connections, unless -v is specified twice for "more verbosity". This way you normally get notified only about genuinely open connections. Example: nc -v -w 2 -z target 20-30 will try connecting to every port between 20 and 30 [inclusive] at the target, and will likely inform you about an FTP server, telnet server, and mailer along the way. The -z switch prevents sending any data to a TCP connection and very limited probe data to a UDP connection, and is thus useful as a fast scanning mode just to see what ports the target is listening on. To limit scanning speed if desired, -i will insert a delay between each port probe. There are some pitfalls with regard to UDP scanning, described later, but in general it works well."

link

    
risposta data 19.11.2015 - 01:20
fonte
0

Come ho detto su superuser.com:

Yes, use HPing to do that:

$ sudo hping -S -p 80 google.com
HPING google.com (p5p1 77.237.27.37): S set, 40 headers + 0 data bytes
len=46 ip=77.237.27.37 ttl=58 id=25706 sport=80 flags=SA seq=0 win=29200 rtt=7.5 ms
len=46 ip=77.237.27.37 ttl=58 id=25707 sport=80 flags=SA seq=1 win=29200 rtt=7.4 ms
len=46 ip=77.237.27.37 ttl=58 id=25708 sport=80 flags=SA seq=2 win=29200 rtt=8.5 ms
len=46 ip=77.237.27.37 ttl=58 id=25709 sport=80 flags=SA seq=3 win=29200 rtt=7.8 ms
^C
--- google.com hping statistic ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 7.4/7.8/8.5 ms

Note that it needs root privileges (or SELinux capabilities) to create raw IP packets, just like ping (which is most likely suid on your system).

Fonte: link

    
risposta data 16.12.2015 - 18:10
fonte

Leggi altre domande sui tag