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í
×

    dnes 13:33 | Komunita Ladislav Hagara | Komentářů: 1
    dnes 13:22 | Komunita

    Richard Hughes na svém blogu oznámil, že počet aktualizací firmwarů pomocí služby LVFS (Linux Vendor Firmware Service) přesáhl 100 milionů. Přehled podporovaných zařízení, nejnovějších firmwarů nebo zapojených výrobců na stránkách LVFS.

    Ladislav Hagara | Komentářů: 0
    dnes 12:55 | Nová verze

    Byla vydána nová stabilní verze 3.19.0, tj. první z nové řady 3.19, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou podporu Raspberry Pi 5.

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | Zajímavý software

    Altap Salamander (Wikipedie), dvoupanelový správce souborů pro Windows, byl uvolněn jako open source pod názvem Open Salamander. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv2.

    Ladislav Hagara | Komentářů: 1
    dnes 07:00 | IT novinky

    Společnost JetBrains představila (YouTube) svou umělou inteligenci JetBrains AI a nástroj AI Assistant v IDE.

    Ladislav Hagara | Komentářů: 6
    včera 22:33 | Nová verze

    Byla vydána nová verze 255 správce systému a služeb systemd (GitHub, NEWS). Z novinek lze vypíchnout například novou službu systemd-bsod.service.

    Ladislav Hagara | Komentářů: 0
    včera 18:44 | IT novinky

    Google představil Gemini, svůj největší a nejschopnější model umělé inteligence.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Komunita

    openSUSE komunita vybírá nová loga. Jedním z cílů je odlišit se od SUSE. Aktuálně probíhá hlasování o logu openSUSE a čtyř distribucí Tumbleweed, Leap, Slowroll a Kalpa.

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

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2023-12-05. Přehled novinek v příspěvku na blogu a poznámkách k vydání. Nově jej lze používat také s tmavým tématem.

    Ladislav Hagara | Komentářů: 1
    včera 08:00 | Humor

    Dnes je to 10 let, co byla vytvořena decentralizovaná kryptoměna Dogecoin. Autoři Billy Markus a Jackson Palmer ji původně zamýšleli jako vtip. Znakem kryptoměny je pes Shiba-Inu známý z internetových memů.

    JZD | Komentářů: 11
     (37%)
     (13%)
     (50%)
    Celkem 78 hlasů
     Komentářů: 2, poslední včera 22:12
    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: 549×

    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.