Netcat

From ICO wiki
Revision as of 14:30, 17 April 2011 by Ralinnam (talk | contribs)
Jump to navigationJump to search

Kirjutamisel

Netcat

Netcat väljastati ametlikult aastal 1996 ja seda on tihti võrreldud kui Šveitsi armee noaga. Netcat on üks versioon cat programmist, erinevusega et cat kirjutab ja loeb infot failidest, siis netcat teeb seda sama, aga üle võrgu ühenduste. Netcat kirjutati algselt UNIXI jaoks, aga tänapäeval saab teda kasutada ka paljude teiste OP süsteemide all. Netcati saamiseks tuleb minna http://Netcat.sourceforge.net või http://nc110.sourceforge.net. Netcat sisaldab mõningaid erinevusi ka GNU/Linuxi ja Windowsi versioonide vahel. Näiteks parameeter Lin on Windowsi all püsiv kuulamis režiim, aga Linuxi all on see tunneldus režiim. Veel -V Linuxi all kuvab versiooni informatsiooni, aga Windowsi all sellist parameetrit ei eksisteeri. Netcat on utiliit mis võimaldab kirjutada ja saata andmeid üle TCP ja UDP võrgu protokollide. Netcati saab kasutada portide skannimiseks, failide ülekandmiseks,(banner grabbing?) tagauksena, portide suunajana, portide kuulamiseks ja veel paljuteks erinevateks võimalusteks.
Mõned Netcati tähtsamad omadused on :

  • Outbound or inbound connections, TCP or UDP, to or from any ports
  • Full DNS forward/reverse checking, with appropriate warnings
  • Ability to use any local source port
  • Ability to use any locally-configured network source address
  • Built-in port-scanning capabilities, with randomizer
  • Built-in loose source-routing capability
  • Can read command line arguments from standard input
  • Slow-send mode, one line every N seconds
  • Hex dump of transmitted and received data
  • Optional ability to let another program service established connections
  • Optional telnet-options responder

Kuidas Netcati paigaldada

Kui sa kasutad Debiani või Debiani baasil loodud distrodel nagu Ubuntu, siis järgnev käsk aitab sul seda paigaldad :

$ sudo aptitude install netcat

Fedora ja Fedoral põhinevatel distrodel nagu CentOs :

$ sudo yum install netcat

Kui ka kasutad Slackware, FreeBSD, NetBSD, Solaris või maci tõmba alla lähtekood http://netcat.sourceforge.net/download.php ja :

$ tar -zxf nc-version.tar.gz
$ cd nc-version
$ ./configure && sudo make install

Netcati süntaks

connect to somewhere:   nc [-options] hostname port[s] [ports] ...
listen for inbound:     nc -l -p port [-options] [hostname] [port]
options:
       -e prog		program to exec after connect [dangerous!!]
       -b		allow broadcasts
       -g gateway	source-routing hop point[s], up to 8
       -G num		source-routing pointer: 4, 8, 12, ...
       -h		this cruft
       -i secs		delay interval for lines sent, ports scanned
       -l		listen mode, for inbound connects
       -n		numeric-only IP addresses, no DNS
       -o file		hex dump of traffic
       -p port		local port number
       -r		randomize local and remote ports
       -q secs		quit after EOF on stdin and delay of secs
       -s addr		local source address
       -t		answer TELNET negotiation
       -u		UDP mode
       -v		verbose [use twice to be more verbose]
       -w secs		timeout for connects and final net reads
       -z		zero-I/O mode [used for scanning]
port numbers can be individual or ranges: lo-hi [inclusive]


Kasutamine

Portide skänner

Netcat võib olla ka edukas portide skännimiseks. Selleks tuleb sisestada süntaksit :

nc –[options] hostname [ports]

Näiteks:

nc –v 192.168.1.4 21, 80, 443
nc –v 192.168.1.4 1-200
nc –v 192.168.1.4 http

Esimesel juhul skäneeritakse adressi 192.168.2.4 porte 80 ja 443, teisel juhul portide vahemiku 1-20 ja kolmandal juhul vaid http paketi liiklust. parameeter -v paneb netcati verbose režiimi. Kasulik on ka parameeter -z mis ei loo ühendust serveriga, vaid teavitab kui on leidnud mõne vaba pordi. See on kasulik kiireks skännimiseks.

Proxy server

Üks vähekasutatud võimalusi on kasutada netcati ka proxy serverina nii porte kui ka hoste saab suunata. Näiteks :

$ nc -l -p 12345 | nc www.google.com 80

Siin algab liiklus netcati serverist pordist 12345 ja suunataks google.com porti 80. Tehes päringu pordile 12345 ei saa sa andmeid tagasi kuna tehtud toru on ühesuunaline. Selleks et toru kahesuunaliseks teha :

$ nc -l -p 12345 | nc www.google.com 80 | nc -l -p 12346

Serveri režiim

Netcat on loodud andmete saatmiseks ja vastuvõtmiseks üle erinevate ühenduste. Lihtsaim viis selleks on saata lihtsat teksti kahe arvuti vahel. Selleks peab ühed arvutid Netcati serveri režiimile panema :

nc –l –p 12345

ja teise ühendama teisega :

nc localhost 12345

nüüd sisestades teksti ühes arvutis ja vajutades seejärel enterit saadetakse see teise arvutisse.

Viited

Autor

Rasmus Linnamäe Ak22