Welcome to Our Website

Linux NC command (Magyar)

Frissítve: 03/06/2020 számítógép Hope

Unix-szerű operációs rendszereken az nc parancs fut Netcat, egy segédprogram a nyers adatok hálózati kapcsolaton keresztüli küldésére.

Ez a dokumentum az NC Linux verziójára vonatkozik.

leírás

a Netcat egy olyan segédprogram, amely a TCP vagy UDP protokoll segítségével beolvassa és írja az adatokat a hálózati kapcsolatokon keresztül. Úgy tervezték, hogy egy megbízható” back-end ” eszköz, amely közvetlenül használható, vagy hajtja más programok, szkriptek., Ugyanakkor ez egy funkciókban gazdag hálózati hibakeresési és feltárási eszköz, mivel szinte bármilyen kapcsolatot képes létrehozni, amire szüksége lenne, és számos érdekes beépített képességgel rendelkezik. Gyakori felhasználások a következők:

  • egyszerű TCP proxy
  • Shell-script alapú HTTP kliensek és szerverek
  • hálózati démon tesztelés
  • a zokni vagy HTTP ProxyCommand az ssh

Szintax

opciók

-4 kényszeríti az NC-t, hogy csak IPv4 címeket használjon. -6 kényszeríti az nc-t, hogy csak IPv6 címeket használjon., -b közvetítés engedélyezése. -C Send CRLF as line-ending. -D engedélyezze a hibakeresést az aljzaton. -d ne próbáljon meg olvasni az stdin-ből. -h kinyomtatja az nc súgót. -I hossz megadja a TCP vételi puffer méretét. -I intervallum egy késleltetési időintervallumot határoz meg az elküldött és fogadott szövegsorok között. Ezenkívül késleltetési időt okoz a több porthoz tartozó kapcsolatok között., -k arra kényszeríti az nc-t, hogy az aktuális kapcsolat befejezése után egy másik kapcsolatot hallgasson. Hiba ezt az opciót a-l opció nélkül használni. -l annak meghatározására szolgál, hogy az nc-nek bejövő kapcsolatot kell hallgatnia, nem pedig távoli gazdagéphez való kapcsolatot. Hiba ezt az opciót a-p, -s vagy-z opciókkal együtt használni. Ezenkívül a-w opcióval megadott időtúllépések figyelmen kívül maradnak. -n ne végezzen DNS-vagy szolgáltatáskeresést meghatározott címeken, gazdaneveken vagy portokon., -o hossz megadja a TCP küldési puffer méretét. -P proxy_username megad egy felhasználónevet, amelyet be kell mutatni egy hitelesítést igénylő proxykiszolgálónak. Ha nincs megadva felhasználónév, akkor a hitelesítést nem kísérlik meg. A Proxy hitelesítés jelenleg csak a HTTP CONNECT proxyk esetében támogatott. -p source_port meghatározza az NC forrásport használatát, a jogosultsági korlátozások és a rendelkezésre állás függvényében., -q másodperc után EOF stdin, várjon a megadott számú másodperc, majd kilép. Ha a másodperc negatív, várjon örökre.

-r meghatározza, hogy a forrás-vagy célportokat véletlenszerűen kell kiválasztani egymás helyett egy tartományon belül vagy a rendszer hozzárendelésének sorrendjében. -S lehetővé teszi az RFC 2385 TCP MD5 signature opciót. -s forrás meghatározza a csomagok küldésére használt felület IP-jét., UNIX-domain datagram sockets esetén megadja a helyi ideiglenes socket fájlt, amelyet úgy kell létrehozni és használni, hogy a datagramok fogadhatók legyenek. Hiba ezt az opciót a-l opcióval együtt használni. -T toskeyword IPv4 TOS érték módosítása. toskeyword lehet az egyik kritikus, inetcontrol, lowcost, lowdelay, netcontrol, átviteli sebesség, megbízhatóság, vagy az egyik DiffServ kód pont: ef, af11 … af43, cs0 … cs7; vagy egy szám hexadecimális vagy decimális. -t okozza nc küldeni RFC 854 NE és nem válaszol RFC 854 DO and WILL kérések., Ez lehetővé teszi az nc használatát a telnet munkamenetek szkripteléséhez. -U meghatározza a UNIX-domain aljzatok használatát. -u az UDP használata a TCP alapértelmezett opciója helyett. UNIX-tartományú aljzatokhoz használjon datagram aljzatot stream aljzat helyett. Ha UNIX-tartományú aljzatot használ, ideiglenes fogadó aljzat jön létre a / tmp-ben, kivéve, ha a-s zászlót adják meg. -V rtable állítsa be a használni kívánt útválasztási táblázatot. Az alapértelmezett érték 0. -v van nc így több bőbeszédű kimenet., -w timeout kapcsolatok, amelyek nem hozhatók létre, vagy tétlen időkorlát után timeout másodperc. A-W zászló nincs hatással a-l opció, azaz nc fog hallgatni örökre a kapcsolat, vagy anélkül a-W zászló. Az alapértelmezett nincs időtúllépés. -X proxy_protocol kéri, hogy az nc használja a megadott protokollt, amikor beszél a proxy szerver. A támogatott protokollok: “4 “(SOCKS v. 4),” 5 “(SOCKS v. 5) és” connect ” (HTTPS proxy). Ha a protokoll nincs megadva, akkor az 5. zokni verziót használják., -x proxy_address kéri, hogy az nc-nek proxy_address és port proxy segítségével csatlakoznia kell a célállomáshoz. Ha a port nincs megadva ,akkor a proxy protokoll jól ismert portját használják (1080 zokni esetén, 3128 HTTPS esetén). -Z DCCP mód. -z meghatározza, hogy az nc-nek csak a démonok hallgatását kell keresnie, anélkül, hogy adatokat küldene nekik. Hiba ezt az opciót a-l opcióval együtt használni.,

a cél lehet numerikus IP-cím vagy szimbolikus hostname (kivéve, ha a-n opció meg van adva). Általában meg kell adni egy rendeltetési helyet, kivéve, ha a-l opció meg van adva (ebben az esetben a helyi gazdagépet használják). UNIX-tartományú aljzatokhoz egy célállomás szükséges, amely a csatlakozóaljzat elérési útja (vagy hallgassa meg, ha a-l opció meg van adva).

port lehet egy egész vagy egy sor Port. A tartományok nn-mm formában vannak.általában meg kell adni a rendeltetési portot, kivéve, ha a-U opció meg van adva.,

kliens / szerver modell

nagyon egyszerű egy nagyon alapvető kliens/szerver modell felépítése az nc használatával. Az egyik konzolon indítsa el az nc hallgatását egy adott porton a kapcsolathoz. Például:

nc -l 1234

nc most hallgat port 1234 egy kapcsolat. Egy második konzolon (vagy egy második gépen) csatlakozz a géphez és a porton hallgatva:

nc 127.0.0.1 1234

kapcsolatnak kell lennie a portok között. Bármi gépelt a második konzol lesz összefűzve az első, és fordítva., A kapcsolat létrehozása után az nc nem igazán érdekli, hogy melyik oldalt használják “szerverként”, és melyik oldalt használják “kliensként”. A kapcsolat megszakítható egy EOF (‘^D’) segítségével.

a modern netcat-ben nincs-c vagy-e opció, de a kapcsolat létrehozása után is végrehajthat egy parancsot a fájlleírók átirányításával. Legyen óvatos itt, mert megnyitása port, és hagyja, hogy bárki csatlakozik végre önkényes parancsot a webhelyen veszélyes., Ha tényleg ezt akarod, itt egy példa:

A ‘server’ oldalon:

rm -f /tmp/f; mkfifo /tmp/f
cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f

Az “ügyfél” oldalon:

nc host.example.com 1234

(shell promptot a host.example.com)

ezzel, hozzon létre egy fifo a /tmp/f, s, hogy nc figyelj a port 1234 a 127.0.0.1 cím a szerver oldalán, amikor egy “ügyfél” hoz létre a kapcsolat sikeresen, hogy a port, a /bin/sh kerül végrehajtásra, a ‘server’ oldalán a shell promptot adnak, hogy “ügyfél” oldalon.

amikor a kapcsolat megszűnik, az nc is kilép., Használja a-k-t, ha azt akarja, hogy továbbra is hallgassa, de ha a parancs kilép, akkor ez az opció nem indítja újra, vagy nem tartja az nc futását. Ne felejtse el eltávolítani a fájlleírót, ha már nincs rá szüksége:

rm -f /tmp/f

adatátvitel

az előző szakasz példája kibővíthető egy alapvető adatátviteli modell felépítéséhez. Minden információ bemenet egyik végén a kapcsolat lesz kimenet a másik végén, input és output könnyen rögzíthető emulálni fájlátvitel.,

a Start segítségével nc hallgatni egy adott port, a kimeneti elfogták a fájlt:

nc -l 1234 > filename.out

a második gép, csatlakoztatás a hallgatás nc folyamat, eteti a fájlt át:

nc host.example.com 1234 < filename.in

Után a fájlt át, a kapcsolat automatikusan bezáródik.

beszél szerverek

néha hasznos beszélni szerverek “kézzel”, nem pedig egy felhasználói felületen keresztül., Segíthet a hibaelhárításban, amikor szükség lehet annak ellenőrzésére, hogy a kiszolgáló milyen adatokat küld az ügyfél által kiadott parancsokra válaszul. Például egy weboldal honlapjának letöltéséhez:

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

vegye figyelembe, hogy ez megjeleníti a webszerver által küldött fejléceket is. Szűrhetők, szükség esetén olyan eszközzel, mint a sed.

bonyolultabb példák építhetők fel, ha a Felhasználó ismeri a szerver által igényelt kérelmek formátumát., Egy másik példa, hogy egy e-mail küldhető egy SMTP-kiszolgálónak a következő használatával:

port szkennelés

hasznos lehet tudni, hogy mely portok vannak nyitva, és mely szolgáltatások futnak a célgépen. A-z zászló lehet használni, hogy elmondja nc jelenteni nyitott portok, ahelyett, hogy kapcsolatot kezdeményez. Általában hasznos a verbose kimenet stderr-re történő bekapcsolása, ha ezt az opciót a-v opcióval együtt használja.

például:

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

a porttartományt úgy határozták meg, hogy a keresést a 20-30 – as portokra korlátozza, majd a sorrend növelésével beolvassa.,

megadhatja a beolvasandó portok listáját is, például:

nc -zv host.example.com 80 20 22

a portokat a megadott sorrendben szkennelik be.

Alternatív megoldásként hasznos lehet tudni, hogy melyik szerver szoftver fut,és mely verziók. Ezt az információt gyakran az üdvözlő bannerek tartalmazzák. Ezek letöltéséhez először létre kell hozni egy kapcsolatot, majd meg kell szakítani a kapcsolatot, amikor a szalaghirdetést lekérik., Ez megvalósítható megadásával egy kis szünet a -w zászló, vagy talán kiadásával egy “KILÉPÉS” parancsot a szerver:

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

Példa

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

Megnyit egy TCP kapcsolat port 42 host.example.com segítségével port 31337, mint a forrás port, a timeout 5 másodperc.

nc -u host.example.com 53

megnyit egy UDP kapcsolatot az 53-as porthoz host.example.com.

nc -s 10.1.2.3 host.example.com 42

TCP kapcsolatot nyit meg a 42-es porthoz host.example.com a 10.1.2.3 használata IP-ként a kapcsolat helyi végéhez.,

nc -lU /var/tmp/dsocket

létrehoz és hallgat egy UNIX-domain stream aljzaton.

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

csatlakozik a port 42 a host.example.com HTTP proxy segítségével 10.2.3.4, 8080 port. Ezt a példát az ssh is felhasználhatja.

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

ugyanaz, mint a fenti példa, de ezúttal lehetővé teszi a proxy hitelesítést felhasználónévvel” ruser”, ha a proxy megköveteli.

ifconfig-a hálózati interfészek konfigurációjának megtekintése vagy módosítása.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük