Netcat
Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 11. kesäkuuta 2015 tarkistetusta
versiosta . tarkastukset vaativat
15 muokkausta .
netcat ( englanniksi net network + cat ) on Unix-apuohjelma, jonka avulla voit muodostaa TCP- ja UDP-yhteyksiä, vastaanottaa sieltä tietoja ja lähettää niitä. Hyödyllisyydestään ja yksinkertaisuudestaan huolimatta tämä apuohjelma ei sisälly mihinkään standardiin (esimerkiksi POSIX ).
Toimi
Yksinkertaisessa tapauksessa NetCat kutsutaan nimellä:
nc
isäntäportti _
Tämä johtaa siihen, että TCP-yhteys luodaan määritetyillä valtuustiedoilla ja oikosulkee vakiotulon verkkolähtöön ja päinvastoin, vakiolähdön verkkotuloon. Tämä toiminto muistuttaa cat-komentoa , joka johti nimen "netcat" valintaan. Jos yhteys epäonnistuu, ohjelma tulostaa virheilmoituksen stderr :lle .
Apuohjelma tunnistaa seuraavat avaimet:
-h
|
Viite; mitään ei tehdä
|
-v
|
Lisädiagnostiikka (sanallinen)
|
-o lähtötiedosto
|
Tulostusdatavedoksia _ _
|
-i numero
|
Viive lähetettyjen tietojen välillä ( sekunneissa )
|
-t
|
Telnet yhteensopiva
|
-z
|
Älä lähetä tietoja (porttiskannaus)
|
-u
|
Yhdistä UDP:n kautta (TCP:n sijaan)
|
-l
|
Passiivinen tila (kuuntelu portista)
|
-p numero
|
* Paikallinen portin numero (-l)
|
-isäntä
|
Käytä määritettyä paikallista ("omaa") IP-osoitetta
|
-n
|
Poista DNS- ja porttinumerohaut käytöstä /etc/services -hakemistosta
|
-w numero
|
Aseta aikakatkaisu (sekunneissa)
|
-q numero
|
Aseta aikakatkaisu tulon EOF :n jälkeen (sekunteina) **
|
-e suoritettava
|
! Suorita määritetty ohjelma kommunikoidaksesi verkon kanssa (vakiotulon ja -lähdön sijaan)
|
-c komento
|
! Sama kuin komento /bin/sh
|
-k
|
Jatka muiden yhteyksien kuuntelemista, kun nykyinen yhteys on katkaistu.
|
! - vaatii erityisen kokoonpanon, joka on poistettu käytöstä toimitetuissa suoritustiedostoissa (luo helposti verkkohaavoittuvuuden).
* - joissakin toteutuksissa portin numero kuuntelua varten on asetettu -l:n kautta, ja -p-kytkin puuttuu.
** - ei saatavilla kaikissa versioissa.
Vaihtoehdot:
- -d. Saatavilla vain Windowsissa. Tekee Netcatista näkymätön. Voit suorittaa ohjelman kuuntelutilassa avaamatta MS-DOS-tilan ikkunaa. Sen avulla myös krakkarit voivat paremmin peittää käynnissä olevan ohjelman järjestelmänvalvojilta.
- -e <komento>. Jos Netcat on käännetty GAPING_SECURITY_HOLE-vaihtoehdolla, ohjelma voi suorittaa <komennon> aina, kun joku muodostaa yhteyden kuunteluporttiin, kunhan Netcat-asiakas uudelleenohjaa I/O:n käynnissä olevaan ohjelmaan. Tämän vaihtoehdon käyttäminen on melko vaarallista, jos et ymmärrä täysin mitä olet tekemässä. Tämä on nopea ja helppo tapa avata "takaovi" järjestelmällesi. Seuraavaksi annetaan esimerkki.
- -i <sekuntia>. Viiveväli tietopalojen siirtojen välillä. Jos tiedosto kulkee Netcat-liukuhihnan läpi, ohjelma odottaa <sekuntia> sekuntia ennen kuin syöttää seuraavan rivin. Jos käytät Netcatia useiden porttien hallintaan samassa isännässä, Netcat odottaa <sekuntia> sekuntia ennen yhteyden muodostamista seuraavaan linjalla olevaan porttiin. Tämä mahdollistaa tiedonsiirron tai järjestelmäpalveluhyökkäyksen hieman peittämisen, ja porttitarkistukset voidaan peittää joistakin tunkeutumisen analysointiohjelmistoista ja järjestelmänvalvojilta.
- -g <reittiluettelo>. Tämän vaihtoehdon käyttäminen voi olla melko ei-triviaalia. Netcat tukee kykyä peittää reitityksen alkuperä (käsitelty tarkemmin kohdassa Make a Friend: IP Address Spoofing). Voit määrittää komentorivillä enintään kahdeksan -g-vaihtoehtoa pakottaaksesi Netcatin reitittämään liikennettä tiettyjen IP-osoitteiden kautta, joita käytetään yleensä, jos huijaat IP-osoitetta, josta liikenne tulee (esimerkiksi yrittääksesi ohittaa palomuurin tai sallittujen isäntien tarkistaminen). Käyttämällä tätä temppua koneessa, josta ohjaat prosessia, voit saada lähetetyt paketit palaamaan määrittämääsi osoitteeseen sen sijaan, että lähetät ne edelleen todelliseen suuntaan. Huomaa, että tämä ei yleensä toimi, koska useimmat reitittimet jättävät huomioimatta reitityslähdevaihtoehdot ja monet suodattimet ja palomuurit kirjaavat tällaiset yritykset lokiin.
- -G <hyppyosoitin>. Tällä valinnalla voit muokata valitsimen -g määrittämää reititysluetteloa määrittääksesi, mihin osoitteeseen hypätään. Koska IP-osoite on nelitavuinen luku, tämä argumentti on aina neljän kerrannainen, jossa 4 on luettelon ensimmäinen IP-osoite, 8 on toinen ja niin edelleen. Tätä vaihtoehtoa käytetään yleensä, jos yrität väärentää reititysluetteloa niin, että paketit näyttävät tulevan jostain muualta. Jättämällä huomioimatta vaihtoehdon -g määrittämän luettelon kaksi ensimmäistä IP-osoitetta ja määrittämällä vaihtoehdon -G numeron 12, paketit reititetään suoraan reititysluettelosi kolmanteen osoitteeseen. Paketin varsinainen sisältö sisältää edelleen ohitetut IP-osoitteet, jolloin näyttää siltä, että paketit olisivat tulleet yhdestä osoitteesta, kun ne todella tulivat jostain muualta. Tämän tekniikan avulla voit piilottaa, mistä tulit isäntään, kun käytät osoitehuijausta tai reititysluetteloa, mutta ei taata, että pystyt saamaan vastauksen, koska se reititetään takaisin huijattujen IP-osoitteiden kautta.
- -l. Tämä vaihtoehto vaihtaa Netcatin "kuuntelutilan". Sitä käytetään yhdessä -p-vaihtoehdon kanssa Netcatin sitomiseen tiettyyn TCP-porttiin ja tulevien yhteyksien kuuntelemiseen. Käytä UDP-porttia -u-vaihtoehtoa.
- -L. Saatavilla vain ohjelman Windows-versiossa, rajoittavampi "kuuntelutila" kuin -l. Se käskee ohjelman käynnistymään uudelleen samoilla parametreilla, jos yhteys suljettiin. Tämä antaa Netcatille mahdollisuuden seurata myöhempiä yhteyksiä ilman käyttäjän toimia aina, kun ensimmäinen yhteys katkeaa. Kuten valitsin -l, tätä vaihtoehtoa on käytettävä yhdessä valitsimen -p kanssa.
- -n käskee Netcatia olemaan etsimättä isäntiä. Jos käytät tätä vaihtoehtoa, sinun ei pitäisi antaa mitään isäntänimiä argumentteina.
- -o <heksatiedosto> aiheuttaa heksadesimaalivedoksen tiedoista, jotka luodaan ja tallennetaan heksadesimaalitiedostoon. Komento nc -o hexfile kirjoittaa molempiin suuntiin kulkevaa dataa ja aloittaa jokaisen rivin <- tai >-merkillä osoittamaan tuloa tai lähtöä vastaavasti. Jos haluat kirjoittaa vain saapuvat tiedot tiedostoon, sinun tulee käyttää komentoa nc -o <hexfile. Vastaavasti, jos haluat kirjoittaa vain lähteviä tietoja, käytä komentoa nc -o >hexfile.
- -p <portti>. Tämän vaihtoehdon avulla voit määrittää paikallisen portin numeron, jota Netcatin tulee käyttää. Tämä argumentti on pakollinen, jos käytät kuuntelutilassa vaihtoehtoja -l tai -L. Jos tätä vaihtoehtoa ei ole määritetty lähtevälle yhteydelle, Netcat käyttää porttia, joka on määritetty tälle järjestelmässä, kuten useimmat TCP- tai UDP-asiakkaat tekevät. Muista, että Unix-järjestelmissä vain pääkäyttäjä voi määrittää porttinumeroita, jotka ovat pienempiä kuin 1024.
- -r. Netcat valitsee paikalliset ja etäportit satunnaisesti. Tämä vaihtoehto on hyödyllinen, kun Netcatia käytetään hankkimaan tietoa järjestelmän suuresta porttinumeroiden joukosta ja esittämään tilanne tavalla, joka ei ole niin kuin porttiskannaus. Jos tätä ominaisuutta käytetään yhdessä valitsimen -i kanssa ja riittävän usein, on todennäköistä, että portin tarkistusta ei havaita ilman järjestelmänvalvojan huolellista tarkastelua järjestelmälokin kanssa.
- -s Määrittää lähtevän IP-osoitteen, jota Netcat käyttää yhteyden muodostamiseen. Tämän vaihtoehdon avulla hakkerit voivat tehdä hienoja temppuja: piilottaa IP-osoitteensa tai väärentää jotain muuta. Mutta saadakseen tiedot lähetetään huijausosoitteeseen, heidän on käytettävä -g reititysjärjestysvaihtoehtoa. Lisäksi kuuntelutilaa käyttämällä voit toistuvasti sitoutua jo kuunneltuun palveluun. Kaikki TCP- ja UDP-palvelut toimivat porteissa, mutta kaikki eivät toimi tietyssä IP-osoitteessa. Monet palvelut kuuntelevat oletusarvoisesti kaikkia saatavilla olevia rajapintoja. Syslog esimerkiksi kuuntelee UDP-porttia 514 lukeakseen syslog-liikennettä. Samanaikaisesti, jos aloitat Netcatin kuuntelemisen portista 514 ja määrität lähtevän IP-osoitteen valitsimella -s, kaikki määrittämäsi IP-osoitteen kautta kulkeva liikenne reititetään ensisijaisesti Netcatin kautta. Miksi? Jos socket määrittää sekä IP-osoitteen että portin numeron, se määrittää sen prioriteetin pistokkeeseen, joka ei määritä kumpaakaan. Myöhemmin puhumme tästä tarkemmin ja esittelemme kuinka määrittää, mikä palvelu järjestelmässä voidaan määrittää ennalta.
- -t. TELNET-vaihtoehdolla koottu Netcat voi kommunikoida telnet-palvelimen kanssa vakiintuneiden käytäntöjen mukaisesti vastaamalla tyhjillä tiedoilla, mutta antaa sinun antaa tietoja vastauksena kirjautumiskehotteeseen, kun käytät TCP-yhteyttä portissa 23.
- -u. Vaihtoehto käskee ohjelman käyttämään UDP-protokollaa TCP:n sijaan, toimien sekä kuuntelu- että asiakastilassa.
- -v määrittää, kuinka yksityiskohtaisesti ohjelma ilmoittaa, mitä se tekee. Jos et käytä -v-vaihtoehtoa, Netcat tulostaa vain vastaanotetut tiedot. Jos valitsinta -v käytetään kerran, voit selvittää, mihin osoitteeseen on yhdistetty tai mitä osoitetta valvotaan, jos ongelmia ilmenee. Kun käytät tätä vaihtoehtoa uudelleen, saat tietää, kuinka paljon dataa lähetettiin tai vastaanotettiin ennen yhteyden katkeamista.
- -w <sekuntia> Määrittää ajan, jonka Netcat odottaa yhteyttä. Tämä vaihtoehto kertoo myös, kuinka kauan sinun on odotettava EOF (tiedoston loppu) -signaalin vastaanottamisen jälkeen standardituloon ennen yhteyden katkaisemista ja poistumista. Tämä on erityisen tärkeää, jos lähetät komentoja etäpalvelimelle Netcatin avulla ja odotat saavasi suuren määrän tietoa (esimerkiksi lähettämällä komennon HTTP-verkkopalvelimelle suuren tiedoston lataamiseksi).
- -z. Jos olet kiinnostunut vain määrittämään, mikä portti on auki, sinun tulee käyttää nmap-ohjelmaa (katso Port Scanners -luento). Mutta tämä vaihtoehto käskee Netcatia lähettämään tarpeeksi tietoa avoimien porttien etsimiseksi annetuilta arvoalueilta. [yksi]
Sovellus
- Verkkoprotokollien testaus ja manuaalinen työskentely ;
- Porttien saatavuuden tarkistaminen;
- Verkkoliitäntä UNIX-kuorelle (jotkin bash - versiot voivat kuitenkin muodostaa yhteyden TCP:hen ja UDP:hen yksin);
- (Kytkimellä -l) luo yksinkertaisia palvelimia, yleensä testipalvelimia;
- (Jaettu inetd :n kanssa ) portin edelleenlähetys.
Esimerkkejä
Windowsin alla:
Suorita CMD mene kansioon netCatilla (esimerkiksi C:\netcat\)
Chatin luominen isäntien välille
Yhdellä koneella (10.10.10.1) avaa portti 1234 kuunnellaksesi: nc -l -p 1234 Yhdistä toisessa koneessa isäntään 10.10.10.1 portissa 1234 nc 10.10.10.1 1234
Tekstin lähettäminen Enterillä. Katkaise yhteys CTRL+C
Jos kyseessä on ubuntu , poista "-p" kytkimistä.
Testi-HTML-sivun näyttäminen asiakkaalle tavallisella selaimella yhdellä komennolla (portti 8080):
(echo -e "HTTP/1.1 200 OK\nContent-Type: text/html\n\n Hello World";) | nc -vv -l -p 8080
Tiedoston siirtäminen asiakkaalle tavallisella selaimella yhdellä komennolla (portti 8080):
(echo -e "HTTP/1.1 200 OK\nContent-Disposition: attachment; filename=целевое-имя-которое-увидит-клиент\nContent-Type: application/octet-stream\nConnection: close\n"; cat имя-файла-на-диске ) | nc -vv -l -p 8080
Nykyisen hakemiston siirtäminen kaikkine tiedostoineen ja alihakemistoineen Internetin tai intranetin kautta, portti 3333, purettaessa nykyiseen hakemistoon:
nc -l -p 3333 | tar xv (выполняется на приёмной стороне)
tar cv * | nc -q 0 ip.адрес.приёмной.стороны 3333 (выполняется на передающей стороне)
Joukkueiden nimet
nc , netcat , ncat , pnetcat (eri järjestelmissä ).
Katso myös
Muistiinpanot
- ↑ fker. kaikki NETCATista (englanniksi) . ANTICHAT – Tietoturvaverkkoyhteisö (23. helmikuuta 2009). Haettu 5. joulukuuta 2019. Arkistoitu alkuperäisestä 5. joulukuuta 2019.
Linkit
Unix-komennot |
---|
|
GNU Coreutils |
---|
Tiedoston apuohjelmat |
|
---|
Teksti-apuohjelmat |
|
---|
Shell-apuohjelmat |
|
---|
|