netcat o nc, És una coneguda eina per a l'anàlisi de xarxa, coneguda també com la navalla suïssa dels hackers, ja que té moltes funcionalitats, similars a l'esmentada navalla. En aquest post explicarem algunes de les seves funcionalitats més bàsiques amb exemples:
1.-Netcat com un client-servidor:
netcat pot utilitzar-se com un servidor i deixar-lo a la escolta d'un determinat port:
$ nc -l 2389
A més, podem utilitzar-lo per connectar- a un port (2389), recentment obert:
$ nc localhost 2389
Ara, si escrivim a la banda de l' client , Arribarà a la banda de l' servidor:
$ nc localhost 2389
HI, server
A la terminal on està corrent el servidor:
$ nc -l 2389
HI, server
Hem vist un exemple de com fer servir Nectat per a la comunicació client-servidor.
2.-Fer servir Netcat per a transferir arxius:
netcat pot ser utilitzat per a transferir arxius. De la banda de l' client suposem que tenim un arxiu anomenat 'testfile' que conté:
$
cat
testfile
hello testfile
i de la banda de l' servidor tenim un arxiu buit anomenat 'test'.
Ara posem de costat de l' servidor:
$ nc -l 2389 >
test
i correm el client de la següent manera:
cat
testfile | nc localhost 2389
Quan revisem l'arxiu 'test' al servidor:
$
cat
test
Hello testfile
Hem transferit dades de l' client al servidor.
3.-Netcat suporta timeouts:
De vegades quan obrim una connexió no desitgem que aquesta es quedi oberta per un temps indefinit, així que per solucionar aquest problema fem servir l'opció -w, Perquè passats x quantitat de segons es tanqui la connexió entre client-servidor.
servidor:
$nc -l 2389
Client:
$ nc -w 10 localhost 2389
La connexió es tancarà després de passats 10 segons.
Nota: no has de fer servir l'opció -w amb l'opció -l al costat de l' servidor ja que -w no causaria cap efecte i per tant la connexió quedaria oberta indefinidament.
4.-Netcat suporta IPV6:
les opcions -4 y -6 forcen a netcat que utilitzi el protocol IPv4 o IPv6 respectivament.
servidor:
$ nc -4 -l 2389
Client:
$ nc -4 localhost 2389
Ara, si executem la comanda netstat, Veuríem:
$
netstat
|
grep
2389
tcp 0 0 localhost:2389 localhost:50851 ESTABLISHED
tcp 0 0 localhost:50851 localhost:2389 ESTABLISHED
El primer paràmetre de la sortida anterior si fos IPv6 mostraria un 6 després de l'tcp, però com fem servir IPv4 ens mostra només tcp
.
Ara, forcem a Necati perquè utilitzi IPv6:
servidor:
$nc -6 -l 2389
Client:
$ nc -6 localhost 2389
executant netstat novament veuríem:
$
netstat
|
grep
2389
tcp6 0 0 localhost:2389 localhost:33234 ESTABLISHED
tcp6 0 0 localhost:33234 localhost:2389 ESTABLISHED
Podem veure com el tcp ara va acompanyat d'un 6, indicant l'ús de IPv6.
5.-Desactivar la lectura per entrada estàndard de Netcat:
Aquesta funcionalitat es té mitjançant l'opció -d. En aquest exemple ho fem de la banda de el client:
servidor:
$ nc -l 2389
Client:
$ nc -d localhost 2389
Hi
El text Hi no serà enviat a servidor ja que la lectura mitjançant entrada estàndard ha estat desactivada.
6.-Forçar Netcat perquè quedi despert:
Quan tenim el servidor corrent i el client es desconnecta, el servidor també acaba:
servidor:
$ nc -l 2389
Client:
$ nc localhost 2389
^C
servidor:
$ nc -l 2389
$
Vam poder apreciar en l'exemple anterior que si el client tanca la connexió també el servidor Temina, llavors, ¿que podem fer ?, la nostra solució és utilitzar l'opció -k, Que força a l'servidor perquè segueixi corrent.
servidor:
$ nc -k -l 2389
Client:
$ nc localhost 2389
C^
servidor:
$ nc -k -l 2389
Hem vist que el servidor segueix corrent tot i que el client s'ha desconnectat, gràcies a l'opció -k que li afegim a servidor.
7.-Configura Netcat perquè es mantingui despert després d'un EOF:
netcat està configurat perquè després de rebre un EOF(End Of File) acabi la connexió, normalment això és el que passa, però podem modificar aquest comportament per defecte de netcat afegint l'opció -q. Aquesta opció indica a netcat que ha d'esperar x quantitat de segons abans de tancar la connexió.
Client:
El client ha de ser començar de la manera següent:
nc -q 5 localhost 2389
Ara sempre que el client rebi un EOF esperarà 5 segons abans de tancar la connexió.
8.-Utilitzar Netcat sobre UDP:
per defecte netcat utilitza per a la seva comunicació el protocol TCP, Però podem utilitzar també UDP mitjançant l'opció -u.
servidor:
$ nc -4 -u -l 2389
Client:
$ nc -4 -u localhost 2389
Ara client y servidor estan utilitzant el protocol UDP per a la seva comunicació, això podem comprovar-ho mitjançant el comanda netstat.
$
netstat
|
grep
2389
udp 0 0 localhost:42634 localhost:2389 ESTABLISHED
Bé, durant el post hem vist alguns exemples de l'ús de netcat, Van poder apreciar que és una eina molt versàtil, d'aquí el de la navalla suïssa dels hacker
, Aquí presentem només algunes de les seves funcionalitats, com sempre si volen més informació: home nc, I veuran tot el que es pot fer amb aquesta eina. Fins el proper post i Happy Hacking !!!
Article pres de humans.
que invents !!
Just el cap de setmana vaig estar treballant amb aquesta eina, de veritat molt bona.
Salutacions
Un bon resum de les coses que es poden fer amb netcat. Això em serà útil de tant en tant. Moltes gràcies.
Bon resum, gràcies per la info.
per al que m'ha servit a mi, Auditar un canal sense fil o l'activitat completa de la interfície sense fil d'un AP Ubiquiti (els de tecnològica N)
en
PC: (192.168.0.1)
nc -l 1234> paquetes.raw
AP: (192.168.0.2)
tcpdump -i ath0 -w - | nc 192.168.0.1 1234
Ctrl + C (per acabar la captura)
PC:
obrir wireshark o qulasevol altre amb suport pcap-file i llegir el fitxer paquetes.raw
de immensa ajuda m'ha estat això al meu, i per això ho comparteixo amb vostès
Molt bon blog
Gràcies, Carlos! Una abraçada!
Pau.
Benvolgut,
sóc nou en això de nivells de seguretat i em gustaria saber on puc trobar l'eina, és a dir és uncomplemento de windows o només és funcional per a plataformes LINUX ja que en el meu àmbit laboral i servida de molt per al que actualment estic exercint
Per endavant agraeixo l'atenció, quedo a l'espera dels seus comentaris i suport
Qui m'ensenya a utilitzar linux..ubuntu .. per poder a aprendre mes de Hankin ... xd