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 16:22 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | Humor

    FlappyFavi, hra Flappy Bird v ikoně Favicon. Nefunguje na mobilech.

    Ladislav Hagara | Komentářů: 0
    14.2. 13:44 | IT novinky Ladislav Hagara | Komentářů: 0
    14.2. 03:44 | Komunita

    Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).

    Ladislav Hagara | Komentářů: 25
    13.2. 19:22 | Komunita

    Vývojáři openSUSE Tumbleweed oznámili, že u nových instalací se ve výchozím stavu přechází z AppArmor na SELinux. Uživatelé, kteří chtějí zůstat na AppArmor si mohou AppArmor vybrat v instalátoru.

    Ladislav Hagara | Komentářů: 0
    13.2. 16:44 | Komunita

    Hector "marcan" Martin skončil jako vedoucí projektu Asahi Linux aneb Linux na Apple Siliconu. Projekt ale pokračuje dál.

    Ladislav Hagara | Komentářů: 52
    13.2. 16:33 | Nová verze

    PostgreSQL byl vydán ve verzích 17.3, 16.7, 15.11, 14.16 a 13.19. Řešena je zranitelnost CVE-2025-1094 s CVSS 8.1 a více než 70 chyb.

    Ladislav Hagara | Komentářů: 0
    13.2. 14:22 | Humor

    Dnes je Světový den rádia. Použili jste někdy GNU Radio?

    Ladislav Hagara | Komentářů: 11
    13.2. 12:33 | IT novinky

    Před 33 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.

    Ladislav Hagara | Komentářů: 2
    12.2. 19:44 | Nová verze

    Byla vydána nová verze 9.10 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    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: 563×

    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.