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

    Byla vydána beta verze Ubuntu 25.04 s kódovým názvem Plucky Puffin. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 25.04 mělo vyjít 17. dubna 2025.

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

    Textový editor Neovim byl vydán ve verzi 0.11 (𝕏). Přehled novinek v příspěvku na blogu a poznámkách k vydání.

    Ladislav Hagara | Komentářů: 3
    včera 05:00 | Komunita

    Živé ISO obrazy Debianu Bookworm jsou 100 % reprodukovatelné.

    Ladislav Hagara | Komentářů: 1
    26.3. 13:44 | Zajímavý článek

    Boudhayan "bbhtt" Bhattcharya v článku Uzavření kapitoly o OpenH264 vysvětluje, proč bylo OpenH264 odstraněno z Freedesktop SDK.

    Ladislav Hagara | Komentářů: 6
    26.3. 03:44 | IT novinky

    Představeny byly nové verze AI modelů: DeepSeek V3-0324, Google Gemini 2.5 a OpenAI 4o Image Generation.

    Ladislav Hagara | Komentářů: 0
    26.3. 03:11 | Nová verze

    XZ Utils (Wikipedie) byly vydány ve verzi 5.8.0. Jedná se o první větší vydání od backdooru v XZ v loňském roce.

    Ladislav Hagara | Komentářů: 0
    25.3. 20:33 | Nová verze

    Byla vydána nová verze 0.40.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 63
    25.3. 14:11 | Nová verze

    Byla vydána nová verze 2.20 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    25.3. 04:22 | Nová verze

    LibrePCB, tj. svobodný multiplatformní softwarový nástroj pro návrh desek plošných spojů (PCB), byl vydán ve verzi 1.3.0. Přehled novinek v příspěvku na blogu a v aktualizované dokumentaci. Vypíchnut je interaktivní HTML BOM (Bill of Materials) a počáteční podpora Rustu. Zdrojové kódy LibrePCB jsou k dispozici na GitHubu pod licencí GPLv3.

    Ladislav Hagara | Komentářů: 0
    25.3. 03:33 | Komunita

    Minulý měsíc Hector "marcan" Martin skončil jako upstream vývojář linuxového jádra i jako vedoucí projektu Asahi Linux. Vývoj Asahi Linuxu, tj. Linuxu pro Apple Silicon, ale pokračuje dál. Byl publikován březnový přehled dění a novinek z vývoje. Vývojáře lze podpořit na Open Collective.

    Ladislav Hagara | Komentářů: 22
    Jaké je vaše preferované prostředí?
     (28%)
     (1%)
     (1%)
     (2%)
     (1%)
     (1%)
     (63%)
     (2%)
    Celkem 241 hlasů
     Komentářů: 10, poslední 24.3. 12:37
    Rozcestník

    Dotaz: Šifrovaný telnet a parsování /etc/services

    xkucf03 avatar 23.2.2008 20:18 xkucf03 | skóre: 49 | blog: xkucf03
    Šifrovaný telnet a parsování /etc/services
    Přečteno: 568×

    Už mě nebavilo psát openssl s_client..., pokaždé, když jsem se chtěl někam šifrovaně připojit, tak jsem si napsat skript, který by se používal podobně snadno jako příkaz telnet a pojmenoval jsem ho telnets.

    Mým potřebám skript vyhovuje, ale říkal jsem si, že by bylo hezčí, kdyby se jako druhý parametr mohl zadat název protokolu z /etc/services místo čísla portu (i u jiných protokolů, než co jsem si tam vypsal do kódu).

    Tak se chci zeptat, jestli nevíte o standardní funkci (která v systému určitě už je, možná i několikrát) pro získání čísla portu z daného souboru na základě názvu protokolu.

    Nezajímá mě až tak nějaké vlastní rozparsování pomocí pomocí sedu atd., jako spíš něco, co v systému už existuje (jasně, můžu si to napsat sám, ale to mi přijde podobně hloupé jako psát si vlastní implementaci HTTP protokolu, místo abych použil wget nebo nějakou standardní knihovnu)

    #! /bin/sh
    
    ########################################################
    # telnets - obal pro openssl s_client,                 #
    # aby šel používat podobně snadno jako příkaz telnet   #
    # Autor: http://frantovo.cz/                           #
    # Datum: 26.1. 2008                                    #
    ########################################################
    
    SERVER=${1}
    PORT=${2}
    
    # rozpoznání známých služeb
    if [ "${PORT}" == "https" ]; then
        PORT="443";
    fi
    
    if [ "${PORT}" == "smtp" ]; then
        PORT="25";
    fi
    
    if [ "${PORT}" == "smtps" ]; then
        PORT="465";
    fi
    
    
    
    # vlastní připojení
    if [ "${PORT}" == "25" ]; then
        openssl s_client -starttls smtp -connect ${SERVER}:${PORT};
    else
        openssl s_client -connect ${SERVER}:${PORT};
    fi
    
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes

    Odpovědi

    24.2.2008 21:03 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Šifrovaný telnet a parsování /etc/services
    getent services SLUŽBA
    25.2.2008 08:52 Radovan Garabík
    Rozbalit Rozbalit vše Re: Šifrovaný telnet a parsování /etc/services
    V čom sa to líši od tohoto?
    dpkg -p telnet-ssl
    Package: telnet-ssl
    ...
    Description: The telnet client with SSL encryption support
     The telnet command is used for interactive communication with another host
     using the TELNET protocol.
     .
     SSL telnet replaces normal telnet using SSL authentication and
     encryption. It interoperates with normal telnetd in both directions.
     It checks if the other side is also talking SSL, if not it falls back
     to normal telnet protocol.
     .
     Advantages over normal telnet: Your passwords and the data you send
     will not go in cleartext over the line. Nobody can get it with
     tcpdump or similar tools. With SSLtelnet you can also connect to
     https-server like https://www.mozilla.org. Just do
     'telnet -z ssl www.mozilla.org 443'
    
    
    xkucf03 avatar 25.2.2008 11:03 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Šifrovaný telnet a parsování /etc/services
    No to už je pak skoro jedno, jestli píšu telnet -z ssl nebo openssl s_client -connect :-) OpenSSL mi ještě vypisuje certifikát serveru a další info, ale použitelné je oboje.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    25.2.2008 16:27 Ivan
    Rozbalit Rozbalit vše Re: Šifrovaný telnet a parsování /etc/services
    Uplne jedno to neni. Teda ono zalezi k cemu ten telnet potrebujete. Behem pripojovani se umi telnet dohodnout s telnet daemonem na vlastnostech terminalu, hodnotach env. promennych a dalsich(myslim ze sem patri i auth. pres kerberos). Takovehle veci openssl nepodporuje.
    xkucf03 avatar 25.2.2008 17:15 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Šifrovaný telnet a parsování /etc/services

    Používám to spíš na různé debugování, ladění (SMTP, HTTPS, POP3) nebo čtení a posílání pošty :-)

    Telnet jsem pro jeho pravý smysl nepoužíval snad nikdy (k tomu jsem měl odjakživa SSH)

    Příkaz getent, jak psal petr_p, je zajímavý (díky), akorát mi vyhodí celý řádek, což je jako kdybych si ten soubor grepnul, a beztak z toho musím regulárním výrazem vytahovat to číslo.

    BTW: je dnes nějaký argument pro používání telnetu+ssl místo SSH?

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    25.2.2008 20:58 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Šifrovaný telnet a parsování /etc/services

    Příkaz getent, jak psal petr_p, je zajímavý (díky), akorát mi vyhodí celý řádek, což je jako kdybych si ten soubor grepnul, a beztak z toho musím regulárním výrazem vytahovat to číslo.

    Není, protože to jde přes nsswitch, protože to najde nejvýše jeden výsledek a vrátí jej v kanonickém tvaru.

    Místo sedu si to můžete nechat vypočítat perlem: perl -le 'print ((getservbyname("https", "tcp"))[2]);'

    xkucf03 avatar 25.2.2008 22:48 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Šifrovaný telnet a parsování /etc/services
    perl -le 'print ((getservbyname("https", "tcp"))[2]);'
    Díky, přesně tohle jsem hledal. Skript teď vypadá takhle a funguje podle mých představ :-)
    #! /usr/bin/perl
    
    ########################################################
    # telnets - obal pro openssl s_client,                 #
    # aby šel používat podobně snadno jako příkaz telnet   #
    # Autor: http://frantovo.cz/                           #
    # Datum: 25.2. 2008                                    #
    ########################################################
    
    $server = $ARGV[0];
    $portX   = $ARGV[1];
    
    # převedeme text na číslo
    $port = (getservbyname($portX, "tcp"))[2];
    
    # pokud se převod nepovedl, použijeme původní parametr
    if (!$port) {
        $port = $portX;
    }
    
    if ($port == 25) {
        exec("openssl s_client -starttls smtp -connect $server:$port");
    } else {
        exec("openssl s_client -connect $server:$port");
    }
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes

    Založit nové vláknoNahoru

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

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