ncat nebo nc je síťový nástroj s funkcí podobnou příkazu cat, ale pro síť. Je to obecný nástroj CLI pro čtení, zápis a přesměrování dat v síti. Je navržen jako spolehlivý back-end nástroj, který lze použít se skripty nebo jinými programy. Je to také skvělý nástroj pro ladění sítě, protože dokáže vytvořit jakýkoli druh připojení, který potřebujete.
ncat/nc může být nástroj pro skenování portů nebo bezpečnostní nástroj nebo nástroj pro sledování a je také jednoduchým TCP proxy . Protože má tolik funkcí, je známý jako síťový švýcarský armádní nůž. Je to jeden z těch nástrojů, které by měl znát a ovládat každý správce systému.
Ve většině distribucí Debianu je k dispozici ‚nc‘ a jeho balíček se automaticky nainstaluje během instalace. Ale v minimální instalaci CentOS 7 / RHEL 7 nenajdete nc jako výchozí balíček. Musíte nainstalovat pomocí následujícího příkazu.
[[email protected] ~]# yum install nmap-ncat -y
Systémoví administrátoři jej mohou použít k auditu zabezpečení svého systému, mohou jej použít k vyhledání otevřených portů a jejich zabezpečení. Správci jej mohou také použít jako klienta pro audit webových serverů, telnetových serverů, poštovních serverů atd., s „nc“ můžeme ovládat každý odeslaný znak a také zobrazit odpovědi na odeslané dotazy.
Můžeme také způsobit, že zachytí data odesílaná klientem, abychom pochopili, co dělají.
V tomto tutoriálu se na 10 příkladech naučíme, jak používat příkaz „nc“,
Příklad:1) Poslouchejte příchozí připojení
Ncat může pracovat v režimu naslouchání a můžeme poslouchat příchozí připojení na čísle portu s možností „l“. Úplný příkaz je,
$ ncat -l číslo_portu
Například,
$ ncat -l 8080
Server nyní začne naslouchat na portu 8080 pro příchozí připojení.
Příklad:2) Připojte se ke vzdálenému systému
Pro připojení ke vzdálenému systému pomocí nc můžeme použít následující příkaz
$ ncat IP_address číslo_portu
Vezměme si příklad,
$ ncat 192.168.1.100 80
Nyní bude provedeno připojení k serveru s IP adresou 192.168.1.100 na portu 80 a nyní můžeme odesílat instrukce na server. Jako bychom mohli získat kompletní obsah stránky pomocí
GET / HTTP/1.1
nebo získat název stránky,
GET / HTTP/1.1
nebo můžeme získat banner pro otisky OS pomocí následujícího,
HEAD / HTTP/1.1
To řekne, jaký software se používá ke spuštění webového serveru.
Příklad:3) Připojení k portům UDP
Ve výchozím nastavení nástroj nc vytváří připojení pouze k portům TCP. Můžeme se ale také připojit k portům UDP, k tomu můžeme použít volbu ‚u‘,
$ ncat -l -u 1234
Nyní náš systém začne naslouchat portu udp ‚1234‘, můžeme to ověřit pomocí níže uvedeného příkazu netstat,
$ netstat -tunlp | Grep 1234UDP 0 0 0.0.0.0:1234 0.0.0.0:* 17341/NCUDP6 0 :::1234 :::*17341/ncPředpokládejme, že chceme odeslat nebo otestovat připojení portu UDP ke konkrétnímu vzdálenému hostiteli, pak použijte následující příkaz,
$ ncat -v -u {host-ip} {udp-port}
příklad:
[[e-mail chráněný] ~]# ncat -v -u 192.168.105.150 53Ncat:Verze 6.40 ( http://nmap.org/ncat )Ncat:Připojeno k 192.168.105.150:53.Příklad:4) NC jako nástroj pro chat
NC lze také použít jako nástroj pro chat, můžeme nakonfigurovat server tak, aby naslouchal portu a poté se mohl připojit k serveru ze vzdáleného stroje na stejném portu a začít odesílat zprávu. Na straně serveru spusťte
$ ncat -l 8080Na vzdáleném klientském počítači spusťte
$ ncat 192.168.1.100 8080Poté začněte odesílat zprávy a budou zobrazeny na terminálu serveru.
Příklad:5) NC jako proxy
NC lze také použít jako proxy s jednoduchým příkazem. Vezměme si příklad,
$ ncat -l 8080 | ncat 192.168.1.200 80Nyní budou všechna připojení přicházející na náš server na portu 8080 automaticky přesměrována na server 192.168.1.200 na portu 80. Ale protože používáme kanál, data lze pouze přenášet a abychom je mohli přijímat zpět, musíme vytvořit dvoucestné potrubí. Použijte k tomu následující příkazy,
$ mkfifo 2way$ ncat -l 8080 0<2way | ncat 192.168.1.200 80 1>2wayNyní budete moci odesílat a přijímat data přes nc proxy.
Příklad:6) Kopírování souborů pomocí nc/ncat
NC lze také použít ke kopírování souborů z jednoho systému do druhého, i když se to nedoporučuje a většinou mají všechny systémy ve výchozím nastavení nainstalované ssh/scp. Ale pokud jste narazili na systém bez ssh/scp, můžete také použít nc jako poslední pokus.
Začněte na počítači, na kterém mají být přijímána data, a spusťte nc je režim posluchače,
$ ncat -l 8080> soubor.txtNyní na počítači, ze kterého se mají data zkopírovat, spusťte následující příkaz
$ ncat 192.168.1.100 8080 --pouze pro odesláníZde je soubor data.txt, který je třeba odeslat. Možnost –send-only ukončí připojení, jakmile bude soubor zkopírován. Pokud tuto možnost nepoužijete, budeme muset stisknout ctrl+c pro ruční ukončení připojení.
Pomocí této metody můžeme také kopírovat celé diskové oddíly, ale mělo by to být provedeno opatrně.
Příklad:7) Vytvořte zadní vrátka pomocí nc/nact
Příkaz NC lze také použít k vytvoření zadních vrátek do vašich systémů a tuto techniku ve skutečnosti používají hackeři hodně. Měli bychom vědět, jak to funguje, abychom zabezpečili náš systém. Chcete-li vytvořit zadní vrátka, příkaz je,
$ ncat -l 10000 -e /bin/bash„e ‘ flag připojí bash k portu 10000. Nyní se klient může připojit k portu 10000 na serveru a bude mít úplný přístup k našemu systému přes bash,
$ ncat 192.168.1.100 1000Příklad:8) Přesměrování portů přes nc/ncat
Můžeme také použít NC pro přesměrování portů pomocí možnosti ‚c‘ , syntaxe pro přesměrování portů je,
$ ncat -u -l 80 -c 'ncat -u -l 8080'Nyní budou všechna připojení pro port 80 přesměrována na port 8080.
Příklad:9) Nastavte časové limity připojení
Režim posluchače v ncat bude i nadále běžet a bude nutné jej ukončit ručně. Ale můžeme nakonfigurovat časové limity pomocí možnosti „w“,
$ ncat -w 10 192.168.1.100 8080To způsobí, že připojení bude ukončeno za 10 sekund, ale lze jej použít pouze na straně klienta, nikoli na straně serveru.
Příklad:10) Vynutíte server, aby zůstal v provozu pomocí volby -k v ncat
Když se klient odpojí od serveru, po nějaké době přestane naslouchat i server. Můžeme však přinutit server, aby zůstal připojen a pokračoval v naslouchání portu pomocí možnosti „k“. Spusťte následující příkaz,
$ ncat -l -k 8080Nyní server zůstane aktivní, i když je spojení od klienta přerušeno.
Tímto končíme náš tutoriál, neváhejte se zeptat na jakoukoli otázku týkající se tohoto článku pomocí pole pro komentáře níže.
Jak monitorovat výkon systémů Linux pomocí příkazu iostat 11 Užitečné příklady rozdělených příkazů pro systémy LinuxLinux