Každý občas potřebuje dostat nějaká data z jednoho stroje na jiný. Pokud nechcete konfigurovat např. FTP nebo HTTP server, tak potřebujete nějaký jednoduchý prográmek, který to umí. V tom případě doporučuji použít Netcat nebo jeho novější náhradu Ncat.
Netcat asi není potřeba představovat. Je tu s námi od roku 1995 a jedná se o „univerzální nástroj na čtení a zápis TCP a UDP spojení“. Ncat vznikl až v tomto století a také se tím chlubí – Ncat – Netcat pro 21. století.
Koncept je tak jednoduchý jak to jen jde. Na jednom stroji otevřete Netcat aby naslouchal na nějakém portu a z druhého stroje se připojíte. Podmínkou je povolit si příslušný port na firewallu.
Tak začneme u původního Netcat, v Linuxu též jako nc. Na serveru s vnější IP 217.198.114.185 otevřeme port 8888:
nc -l -s 217.198.114.185 -p 8888
Z libovolného stroje se pak připojíme na stroj s IP 217.198.114.185 a port 8888:
nc 217.198.114.185 8888
Výsledek bude vypadat takto. Cokoli napíšeme do jedné nebo druhé konzole se přenese na opačnou stranu.
Takže máme TCP spojení. No a protože Linux je jedna velká trubka, jak říkával můj bývalý kolega, tak pro přenos souborů nám stačí jenom poslat soubor do vzniklé „trubky“.
A už slyším, že to je nebezpečné, přenos není šifrovaný atd. Ano, není to bezpečné. Pro jednorázové účely to stačí. Útočník by musel trefit konkrétní port a čas kdy je spojení aktivní. Samozřejmě můžeme použít ssh a vytvořit si šifrovaný tunel, ale tady už se ztrácí elegance a jednoduchost.
Takže se pojďme podívat na následníka Netcat z dílny vývojářů Nmap.
Hned po spuštění rychlé nápovědy ncat -h vidíme, že o proti nc -h nám přibyly nějaké volby a nějaké naopak ubyly. Největší rozdíl je v tom, že zmizelo skenování portů a přibyly volby pro ssl. Jinými slovy, ano ncat umí ssl přímo bez potřeby používat další nástroje. Navíc funguje na Windows, macOS a Linuxu a samozřejmě je open source, takže si ho můžete přeložit pro libovolný operační systém.
Takže pojďme si přenést třeba zálohy databází ze serveru s Debianem na pracovní stanici s Windows . Dejme tomu, že zálohu máme v souboru /backup/alldb.sql a na pracovní stanici si ji chci nahrát do svého domovského adresáře jako soubor zaloha_20221130.sql . Takže na serveru zavoláme:
ncat -l 217.198.116.182 8888 --ssl < /backup/alldb.sql
Na pracovní stanic s Windows si pustíme cmd a pak:
C:\Users\zbynek.vyboh>ncat --ssl vyboh.zarea.net 8888 -o zaloha_20221130.sql
Jakmile se soubor nahraje, spojení se uzavře.
Krásné, jednoduché, elegantní.
Chcete na pracovní stanici sledovat online např. slow-log MySQL serveru? Stačí na serveru spustit
tail -f /var/log/mysql/slow.log | ncat -l 217.198.116.182 8888 --ssl
No a po připojení z pracovní stanice pomocí
ncat --ssl vyboh.zarea.net 8888
vidíme přímo co se aktuálně přidává na serveru do souboru /var/log/mysql/slow.log
Možností použití je nekonečné vzhledem k tomu, že Ncat podporuje snad všechny myslitelné protokoly.
Nějaké další ukázky použití najdete např. přímo na oficiálních stránkách Ncat.
Mohlo by vás také zajímat
-
Jak zabezpečit váš chytrý telefon před kybernetickými hrozbami
30. listopadu 2023 -
Optimalizace a zlepšení výkonu kódu: tipy a triky
14. srpna 2023 -
Aktualizujete svoji .NET webovou aplikaci? Může se hodit app_offline.htm
10. července 2024 -
Co je to VRAM a jak ji navýšit bez drahého upgradu?
20. srpna 2024
Nejnovější
-
Jak zvýšit CTR vašeho e-mail marketingu
9. září 2024 -
Znovuuvedení domény .AD
5. září 2024
frufru
Pro 9, 2022 v 13:42kto by potreboval nieco podobne ale bez potreby verejnej IP moze skusit krokodila miesto macky
https://github.com/schollz/croc