Čtení a zápis jsou základní operace, které lze aplikovat na data v každém systému. TCP je zkráceno jako Transmission Control Protocol a jde o komunikační protokol orientovaný na připojení, který usnadňuje počítačům v síti odesílání a přijímání zpráv. Jedná se o nejrozšířenější protokol v sítích, které využívají internetový protokol (IP); při společném použití se někdy označuje jako TCP/IP. UDP, zkráceně User Datagram Protocol, je komunikační protokol používaný k vytváření nízkolatenčních a ztrátově odolných spojení mezi aplikacemi na internetu. V tomto článku se budeme zabývat příkazem „Netcat“, který se používá ke čtení a zápisu na disky v sítích pomocí protokolů TCP a UDP na Ubuntu 20.04 (OS Linux).
Obslužná aplikace Netcat obsahuje několik pokynů pro správu sítí a sledování úrovně dat mezi systémy. Protokoly TCP a UDP jsou základem počítačových sítí, jako je internet. Je považován za švýcarský armádní nůž síťových nástrojů a patří mezi nejúčinnější nástroje ve zbrojnici síťových a systémových administrátorů. Netcat je multiplatformní program, který běží na Linuxu, Windows, Mac OS X a BSD. Netcat lze použít k ladění a analýze problémů s konektivitou, stejně jako ke skenování otevřených portů, přenosu dat a fungování jako proxy.
Použití Netcatu ke čtení a zápisu dat v síti
Na macOS a běžných distribucích Linuxu, jako je Ubuntu a Debian, je balíček Netcat předinstalován. Některé z obslužných programů „Netcat“ jsou uvedeny níže.
- Proveďte skenování portů prostřednictvím Netcat
- Odesílání souborů přes Netcat
- Vytvořte webový server prostřednictvím Netcat
Syntaxe:
$ nc [options] host port |
Na systémech Ubuntu se používá „nc“ nebo „netcat“.
Bude vytvořeno připojení TCP, které poskytne hostitele/hostitele a port/porty Netcat jako výchozí. Pokud chcete vytvořit připojení UDP, použijte volbu -u.
$ nc -u host port |
Proveďte skenování portů prostřednictvím Netcat
Jednou z nejrozšířenějších aplikací Netcat je skenování portů. Máte možnost skenovat jeden port nebo řadu portů.
TCP:
Vyhledat otevřené porty:
Chcete-li skenovat otevřené porty v rozsahu 30-60 pomocí Netcat, spusťte příkaz uvedený níže:
$ nc -z -v 10.0.2.15 30-60 |
-z dá pokyn NC, aby pouze vyhledával otevřené porty a neposílal do nich žádná data.
-v říká podrobné informace.
Filtrujte výsledek pomocí příkazu grep:
$ nc -z -v 10.0.2.15 2>&1 | grep succeeded |
Žádné připojení v tomto rozsahu nebylo úspěšné.
UDP:
Jednoduše přidejte do skriptu parametr -u pro kontrolu portů UDP v níže uvedeném příkazu:
$ nc -z -v -u 10.0.2.15 30-60 |
V tomto rozsahu není žádný port UDP.
Odesílání souborů přes Netcat
Vytvořením základního modelu klienta nebo serveru lze Netcat použít k přenosu dat z jednoho hostitele na druhého. Toho se dosáhne pomocí volby -l na přijímajícím hostiteli, aby Netcat naslouchal na určitém portu, pak se vytvoří standardní TCP spojení z více počítačů a přenese se přes něj soubor.
Spusťte níže uvedený příkaz na straně příjemce, která otevře port 6666 pro příchozí připojení a přesměruje výsledek výstupu do souboru:
$ nc -l 6666 > linux1.txt |
Linux1.txt je název souboru, který se má otevřít pro zápis, a název souboru můžete změnit podle svých požadavků.
Nyní bude přijímající hostitel připojen k odesílajícímu hostiteli a odešle soubor:
$ nc google.com 6666 < linux2.txt |
Vytvoření webového serveru prostřednictvím Netcat
Nejprve vytvořte jednoduchý HTML soubor „linux, html“ pomocí příkazu nano:
$ nano linux.html |
Zadejte níže uvedený obsah nebo můžete přidat obsah podle svého požadavku podle pravidel pro soubor html.
<html> <head> <title> Linux<title> <head> <html> |
Uložte pomocí „Ctrl+S“ a zavřete soubor pomocí „Ctrl+X“.
$ printf 'HTTP/1.1 200 OK\n\n%s' "$(cat linux.html)" | netcat -l 8888 |
Nyní v prohlížeči můžete k souboru přistupovat pomocí níže uvedeného odkazu:
http://server-ip:8888 |
Závěr:
Netcat je základní linuxový nástroj, který používá protokoly TCP/UDP pro čtení a zápis dat přes síťová připojení. Má být spolehlivým backendovým nástrojem, který lze ovládat přímo nebo jednoduše jinými aplikacemi a programy. Tento článek poskytuje informace o použití Netcatu s protokoly TCP a UDP a některých dalších použitích, jako je skenování portů, odesílání souborů a vytváření webového serveru.