Welcome to Our Website

Linux-nc-komento

– Päivitetty: 03/06/2020 Tietokoneella Toivoa

Unix-kuin käyttöjärjestelmiä, nc-komento toimii Netcat, apuohjelma lähettää raw data verkon yli.

Tämä asiakirja kattaa NC: n Linux-version.

Kuvaus

Netcat on apuohjelma, joka lukee ja kirjoittaa dataa verkon yhteyksiä, käyttäen TCP-tai UDP-protokollaa. Se on suunniteltu luotettavaksi ”back-end” – työkaluksi, jota voidaan käyttää suoraan tai muiden ohjelmien ja skriptien avulla., Samaan aikaan, se on ominaisuus-rikas verkko-testaus-ja etsintä työkalu, koska se voi luoda melkein mitä tahansa-yhteyden tarvitset ja on useita mielenkiintoisia sisäänrakennettuja ominaisuuksia. Yleisiä käyttötarkoituksia ovat:

  • Yksinkertainen TCP valtakirjat
  • Shell-skripti, joka perustuu HTTP-asiakkaat ja palvelimet
  • Verkko-daemon testaus
  • Socks-tai HTTP-ProxyCommand ssh

Syntax

Asetukset

-4 Voimat nc käyttää IPv4-osoitteita vain.
-6 pakottaa nc: n käyttämään vain IPv6-osoitteita.,
b Salli broadcast.
C Lähetä CRLF kuin linja-loppu.
-d mahdollistavat vianetsinnän pistorasiassa.
-d Älä yritä lukea stdin.
-h tulostaa NC-apua.
-minä pituus Määrittää koko TCP vastaanottaa puskuri.
-I intervalli määrittää lähetettyjen ja vastaanotettujen tekstirivien välisen viiveajan. Aiheuttaa myös viiveen yhteyksien välillä useisiin satamiin.,
-k pakottaa nc: n pysymään kuuntelemassa toista yhteyttä sen nykyisen yhteyden valmistuttua. On virhe käyttää tätä vaihtoehtoa ilman-l vaihtoehto.
l Käytetään määrittämään, että nc olisi kuunnella saapuvan yhteyden sijaan aloittaa yhteyden kauko-isäntä. On virhe käyttää tätä vaihtoehtoa yhdessä-p,- s, tai-z vaihtoehtoja. Lisäksi kaikki aikalisät, jotka on määritelty-w-vaihtoehdolla, jätetään huomiotta.
n älä Tee mitään DNS-tai palvelu-hakuja tahansa tietyn osoitteista, isäntänimiä tai-portit.,
-O pituus Määrittää koko TCP send buffer.
-P proxy_username Määrittää käyttäjätunnus esittämään proxy-palvelin vaatii todennuksen. Jos käyttäjätunnusta ei ole määritelty, tunnistautumista ei yritetä. Proxy-todennus on tuettu vain HTTP CONNECT proxies tällä hetkellä.
-p source_port Määrittää lähde-portti nc tulisi käyttää, jollei etuoikeus rajoituksia ja saatavuus.,
-q sekuntia kun EOF on stdin, odota tietty määrä sekuntia ja sitten lopeta. Jos sekunnit ovat negatiivisia, odota ikuisesti.
-t Määrittää, että lähde-tai kohde-portit valitaan satunnaisesti sen sijaan peräkkäin alueella tai siinä järjestyksessä, että järjestelmä määrittää niitä.
-S Mahdollistaa RFC 2385 TCP MD5 allekirjoitus vaihtoehto.
-s lähde Määrittää IP interface, jota käytetään lähettää paketteja., Unix-domain datagram pistorasiat, määrittää paikallinen väliaikainen socket tiedosto luoda ja käyttää niin, että datagrams voidaan vastaanottaa. On virhe käyttää tätä vaihtoehtoa yhdessä-l vaihtoehto.
-t toskeyword muuttaa IPv4: n TOS-arvoa. toskeyword voi olla kriittinen, inetcontrol, lowcost, lowdelay, netcontrol, suorituskyky, luotettavuus, tai yksi diffserv: iä Koodi Pistettä: ef, af11 … af43, cs0 … cs7; tai numero joko hex tai desimaalin.
-t Aiheuttaa nc lähettää RFC 854 ÄLÄ-ja EI-vastauksia RFC 854 TEHDÄ ja pyyntöjä., Tämä mahdollistaa NC: n käytön telnet-istuntojen komentamiseen.
-U Määrittää, käyttää UNIX-domain pistorasiat.
-u Käyttää UDP sijasta oletuksena vaihtoehto TCP. Käytä Unix-domain-pistorasioissa Datagram-pistorasiaa stream-pistorasian sijaan. Jos käytetään UNIX-domain-liitäntää, luodaan /tmp: ssä väliaikainen vastaanottopistorasia, ellei-s-lippua anneta.
-V rtable Aseta käytettävä reititystaulukko. Oletusarvo on 0.
-v On nc antaa enemmän verbose output.,
-w aikakatkaisu Yhteydet joka voi olla perustettu tai ovat joutoajan jälkeen timeout sekuntia. -W-lippu ei ole vaikutusta.- l-optio, eli nc kuuntelee ikuisesti yhteydessä, tai ilman-w-lippu. Oletusarvo ei ole aikalisä.
-X proxy_protocol Pyytää, että nc tulee käyttää määriteltyä protokollaa, kun puhuu proxy-palvelin. Tuetut protokollat ovat ”4” (SUKAT v. 4), ”5” (SUKAT v. 5) ja ”liitä” (HTTPS proxy). Jos protokollaa ei ole määritelty, käytetään SOCKS-versiota 5.,
-x proxy_address Pyytää, että nc olisi muodostaa yhteyden kohteeseen käyttämällä proxy proxy_address ja portti. Jos porttia ei ole määritelty, käytetään proxy-protokollan tunnettua porttia (1080 sukille, 3128 HTTPS: lle).
-Z DCCP tilassa.
-z Määrittää, että nc olisi vain skannata kuunteluun demonit, lähettämättä mitään tietoja heille. On virhe käyttää tätä vaihtoehtoa yhdessä-l vaihtoehto.,

kohde voi olla numeerinen IP-osoite tai symbolinen hostname (ellei -n asetus on annettu). Yleensä määräpaikka on määriteltävä, ellei-l-vaihtoehtoa anneta (jolloin käytetään paikallista isäntää). UNIX-domain pistorasiat, kohde tarvitaan ja on socket polku yhteyden (tai kuunnella, jos-l vaihtoehto annetaan).

portti voi olla yksi kokonaisluku tai joukko portteja. Alueet ovat muodossa nn-mm.yleensä määräportti on määriteltävä, ellei-U-vaihtoehtoa anneta.,

Client/Server model

on melko yksinkertaista rakentaa hyvin perusasiakas / palvelinmalli nc: n avulla. Yhdellä konsolilla, aloita nc kuuntelu tietyssä portilla yhteyden. Esimerkiksi:

nc -l 1234

nc on nyt kuuntelee porttia 1234 yhteyden. Toinen konsoli (tai toinen laite), kytke kone ja portti on kuunnella:

nc 127.0.0.1 1234

Siellä pitäisi nyt olla yhteys satamien välillä. Kaikki, mitä kirjoitetaan toisessa konsolissa, konventoidaan ensimmäiseen, ja päinvastoin., Kun yhteys on perustettu, nc ei ole väliä, kumpi puoli on käytetty ”server”, ja joka puolella on käytetty ’client’. Yhteys voidaan lopettaa käyttämällä EOF: ää (”^D”).

ei ole c-tai e-vaihtoehto nyky netcat, mutta voit silti suorittaa komennon, kun yhteys on muodostettu suuntaamalla tiedostokuvaajia. Ole varovainen täällä, koska portin avaaminen ja anna kaikkien liitettyjen suorittaa mielivaltainen komento sivustossasi on vaarallista., Jos sinun todella täytyy tehdä tämä, tässä on esimerkki:

On ’palvelin’ 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

On ’client’ puolella:

nc host.example.com 1234

(shell ajallaan host.example.com)

näin, voit luoda fifo-at /tmp/f ja tehdä nc-kuuntele port 1234 osoite 127.0.0.1 on ”server” puolella, kun ’asiakas’ muodostaa yhteyden onnistuneesti, että portti, /bin/sh saa suorittaa ’palvelin’ puolella ja shell-kehotteesta annetaan ’asiakas’ puolella.

kun yhteys lopetetaan, NC lopettaa myös., Käytä-k: ta, jos haluat sen kuuntelevan, mutta jos komento lopettaa tämän vaihtoehdon, se ei käynnistä sitä uudelleen tai pidä nc käynnissä. Myös, älä unohda poistaa tiedoston avainsana, kun et tarvitse sitä enää:

rm -f /tmp/f

tiedonsiirto

esimerkki edellisessä jaksossa voidaan laajentaa rakentaa perus tiedonsiirron malli. Kaikki tiedot syötetään toiseen päähän yhteys on lähtö toiseen päähän, ja tulo ja lähtö voidaan helposti kiinni jäljitellä tiedostojen siirto.,

Aloita käyttämällä nc kuunnella tiettyä porttia, joiden teho jää tiedostoon:

nc -l 1234 > filename.out

Käyttäen toisen laitteen, yhteyden kuuntelu nc prosessi, ruokinta se tiedosto, joka siirretään:

nc host.example.com 1234 < filename.in

Kun tiedosto on siirretty, yhteys sulkeutuu automaattisesti.

palvelimille puhuminen

palvelimille on joskus hyödyllistä puhua ”käsin” eikä käyttöliittymän kautta., Se voi tukea vianmääritys, kun se saattaa olla tarpeen tarkistaa, mitä tietoja palvelin lähettää vastauksena komentoja antama asiakasta. Esimerkiksi, voit hakea kotisivu verkkosivuilla:

printf "GET / HTTP/1.0\r\n\r\n" | nc host.example.com 80

Huomaa, että tämä näyttää myös otsikot lähettämien web-palvelin. Ne voidaan suodattaa tarvittaessa sed: n kaltaisella työkalulla.

monimutkaisempia esimerkkejä voidaan rakentaa, kun käyttäjä tietää muoto pyyntöjä palvelin vaatii., Toisena esimerkkinä, e-mail voidaan lähettää SMTP-palvelimen avulla:

Port skannaus

Se voi olla hyödyllistä tietää, mitkä portit ovat auki ja käynnissä olevat palvelut on tavoite kone. -Z-lippua voi käyttää kertomaan nc raportti avaa portit, pikemminkin kuin aloittaa yhteyden. Yleensä, se on hyödyllistä kytkeä päälle verbose ulostulo stderr käyttämällä tätä vaihtoehtoa yhdessä-v vaihtoehto.

esimerkiksi:

nc -zv host.example.com 20-30
Connection to host.example.com 22 port succeeded!Connection to host.example.com 25 port succeeded!

satama-alue oli määritetty raja-haku-portit 20 – 30, ja on skannattu lisäämällä järjestyksessä.,

Voit myös määrittää luettelon portit skannata, esimerkiksi:

nc -zv host.example.com 80 20 22

– portit skannataan, jotta olet antanut.

vaihtoehtoisesti voi olla hyödyllistä tietää, mikä palvelinohjelmisto on käynnissä ja mitkä versiot. Tämä tieto sisältyy usein tervehdysbannereihin. Näiden noutamiseksi on ensin tehtävä yhteys ja sitten rikottava yhteys, kun banneri haettiin., Tämä voidaan tehdä määrittämällä pieni timeout kanssa-w-lippu, tai ehkä antamalla ”QUIT” – komennolla palvelin:

echo "QUIT" | nc host.example.com 20-30
SSH-1.99-OpenSSH_3.6.1p2 Protocol mismatch. 220 host.example.com IMS SMTP Receiver Version 0.84 Ready

Esimerkkejä

nc -p 31337 -w 5 host.example.com 42

Avaa TCP-yhteyden portti 42 host.example.com käyttämällä port 31337 lähteenä portti, kanssa timeout 5 sekuntia.

nc -u host.example.com 53

Avaa UDP-yhteyden portti 53 host.example.com.

nc -s 10.1.2.3 host.example.com 42

Avaa TCP-yhteyden portti 42 host.example.com käyttämällä 10.1.2.3 kuin IP paikallisen loppuun yhteys.,

nc -lU /var/tmp/dsocket

Luo ja kuuntelee UNIX-domain stream-liittimeen.

nc -x10.2.3.4:8080 -Xconnect host.example.com 42

Yhteyden portti 42 host.example.com kautta HTTP-proxy 10.2.3.4, portti 8080. Tätä esimerkkiä voisi käyttää myös ssh.

nc -x10.2.3.4:8080 -Xconnect -Pruser host.example.com 42

sama kuin yllä olevassa esimerkissä, mutta tällä kertaa mahdollistaa välityspalvelimen todennus käyttäjänimellä ”ruser” jos välityspalvelin vaatii sitä.

ifconfig — View or modify the configuration of network interfaces.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *