Differenze tra le versioni di "Netcat"

Da GolemWiki.
Jump to navigation Jump to search
(Per veloce riferimento (la pagina originale non esiste più, e nessuno ha voglia di leggersi tutto il man di openssl))
 
 
(6 versioni intermedie di 2 utenti non mostrate)
Riga 8: Riga 8:
 
  netcat ''ip'' ''port''
 
  netcat ''ip'' ''port''
  
Esempio:
+
=== Trasferimento di file===
  cat file.txt | netcat -l -p 1234
+
 
  netcat 192.0.2.100 1234 > file.txt
+
Sul server che riceverà il file sfruttando la porta 2702
 +
nc -l -p 2702 >filename
 +
 
 +
Sul client che invia il file:
 +
  nc ''ip_server'' 2702 <filename
 +
 
 +
=== Chat ===
 +
Sul primo computer (server) 
 +
nc -l -p 2702
 +
 
 +
Sul secondo computer (client)
 +
nc ''ip_server'' 2702
 +
 
 +
A questo punto ciò che viene scritto su una macchina sarà visualizzato sull'altra e viceversa
 +
 
 +
=== Shell remota ===
 +
Su Windows
 +
nc -l -d -p 2702 -t -L -e cmd.exe
 +
 
 +
Su Linux
 +
nc -p 2702 -lk -e /bin/sh
 +
 
 +
Per connettersi
 +
nc ''ip_server'' 2702
 +
 
 +
=== Port scanner ===
 +
In questo esempio analizzeremo le porte tra la 20 e la 80
 +
nc -v -w 2 -z ''ip_to_scan'' 20-80
 +
 
 +
=== Port forward ===
 +
Per esempio per accedere ad un computer dietro una NAT
 +
 
 +
Configurare la macchina dietro la NAT (es.: 192.168.0.3) mettendola in ascolto su una porta a nostra scelta
 +
  nc -lvvp 23
 +
 
 +
Configurare il router/server con accesso diretto ad Internet per ridirigere il traffico dalla sua porta 4444 verso la 23 dell'host 192.168.0.3.
 +
nc -lvvp 4444 | nc 192.168.0.3 23
 +
 
 +
In questo modo collegandosi sulla porta 4444 del ''router'' verremo dirottati sulla 23 della macchina interna
 +
nc ''router'' 4444
  
 
== OpenSSL ==
 
== OpenSSL ==
Sul server
+
Sul server:
 
  openssl req -x509 -nodes -days ''days'' -newkey rsa:1024 -keyout ''mycert.pem'' -out ''mycert.pem''
 
  openssl req -x509 -nodes -days ''days'' -newkey rsa:1024 -keyout ''mycert.pem'' -out ''mycert.pem''
 
  openssl s_server -accept ''port'' -cert ''mycert.pem''
 
  openssl s_server -accept ''port'' -cert ''mycert.pem''
Riga 19: Riga 58:
 
Sul client:
 
Sul client:
 
  openssl s_client -connect ''ip'':''port''
 
  openssl s_client -connect ''ip'':''port''
 +
 +
[[Category:Howto]]

Versione attuale delle 23:08, 20 feb 2024

Pipe di stdin e stdout tramite reti TCP/IP.

Netcat

Sul server:

netcat -l -p port

Sul client:

netcat ip port

Trasferimento di file

Sul server che riceverà il file sfruttando la porta 2702

nc -l -p 2702 >filename

Sul client che invia il file:

nc ip_server 2702 <filename

Chat

Sul primo computer (server)

nc -l -p 2702

Sul secondo computer (client)

nc ip_server 2702

A questo punto ciò che viene scritto su una macchina sarà visualizzato sull'altra e viceversa

Shell remota

Su Windows

nc -l -d -p 2702 -t -L -e cmd.exe

Su Linux

nc -p 2702 -lk -e /bin/sh

Per connettersi

nc ip_server 2702

Port scanner

In questo esempio analizzeremo le porte tra la 20 e la 80

nc -v -w 2 -z ip_to_scan 20-80

Port forward

Per esempio per accedere ad un computer dietro una NAT

Configurare la macchina dietro la NAT (es.: 192.168.0.3) mettendola in ascolto su una porta a nostra scelta

nc -lvvp 23

Configurare il router/server con accesso diretto ad Internet per ridirigere il traffico dalla sua porta 4444 verso la 23 dell'host 192.168.0.3.

nc -lvvp 4444 | nc 192.168.0.3 23

In questo modo collegandosi sulla porta 4444 del router verremo dirottati sulla 23 della macchina interna

nc router 4444

OpenSSL

Sul server:

openssl req -x509 -nodes -days days -newkey rsa:1024 -keyout mycert.pem -out mycert.pem
openssl s_server -accept port -cert mycert.pem

Sul client:

openssl s_client -connect ip:port