Chci vědět, jestli je nutné mít povolený telnet na obou stranách strojů, aby bylo možné získat připojení telnet.
Tady je problém: Snažím se telnetovat nějakou veřejnou IP na portu 80 z webového serveru Linux (Red Hat).
Tato veřejná IP má povolený HTTP (80). I “ Nejsem si jistý, jestli je povolen telnet, ale vlastník říká, že je.
Na mém serveru Linux je povolen protokol HTTP (80), ale ne telnet. Místo toho je povoleno SSH.
Když telnetuji ze svého serveru Linux: telnet PublicIP 80
říká:
Trying "PublicIP"... Connected to "PublicIP" ("PublicIP"). Escape character is "^]". Connection closed by foreign host
Je nutné povolit telnet na mém serveru, aby fungoval? Protože na druhém konci není problém, jak potvrzují jiné zdroje. Veřejná adresa IP: 220.226.190.180
Vysvětlete, jak to mohu zajistit. Pokud musím povolit telnet na svém serveru Linux, prosím sdílejte příkaz a metodu.
Komentáře
- jak víme, port telnet není zabezpečený, takže většina fw jej blokuje, jste si jisti že neexistuje ‚ žádný firewall (na druhém počítači), který blokuje port telnetu.
- Zdá se, že jste již udělali, co jste chtěli … Vy telnet ‚ ed ke vzdálené službě HTTP a protože jste ‚ nezadali nic, uzavřelo to spojení. Službu Telnet nemusíte aktivovat (Server) na jakémkoli počítači. Používáte klienta telnet. Můžete také použít curl / wget / nc / cokoli, abyste udělali totéž.
- Existuje velká šance, že existuje. Ale je to povoleno komukoli. dokonce ho mohu telnetovat z mé domácí sítě na mém počítači se systémem Windows. ale je to z mé kanceláře mj m čelem. vše je na naší straně brány firewall povoleno z tohoto serveru.
- @Networker je bezpečnostní problém (v tomto kontextu) jen nesmysl. telnet se používá jako klient k testování dosažitelnosti služby – a NE, port telnet není zapojen.
Odpověď
Pokoušíte se otestovat připojení ke vzdálenému webovému serveru pomocí telnet
? Pak ne: nepotřebujete servery telnet. Vzdálený server HTTP čeká na příkazy, jak je naznačeno znakem escape. Když vyprší časový limit, připojení je ukončeno. Takže …
telnet <hostname or ip address> 80
Potom zadejte některé příkazy HTTP:
GET / HTTP/1.1 host: <fqdn>
Použijte plně kvalifikovaný název domény hostitele, ke kterému byl nakonfigurován vzdálený webový server. Vrátí výchozí dokument s výše uvedenými příkazy HTTP. Uvědomte si přesný komentář od 0xAF.
Komentáře
- Aby OP mohl získat jakoukoli odpověď, musí OP po svém zadání zadat 1 prázdný řádek. Většina serverů HTTP umožňuje komunikaci HTTP / 1.0. Pokud se OP pokouší otestovat pouze službu HTTP, mohl by jednoduše napsat “ GET / HTTP / 1.0 “ a stisknout klávesu Enter 2krát.
Odpověď
Odpověď na vaši otázku v první větě: Telnet jsou dvě věci: a aplikace na straně serveru (démon) a aplikace na straně klienta.
Když je spuštěn server telnet, počítač naslouchá na portu TCP 23 pro připojení z klienta telnet.
Klient telnet neposlouchá na žádných portech, ale spíše se pokouší připojit k portu TCP 23 (ve výchozím nastavení) v počítači. Pokud se připojí správně, může být uživatel vyzván k přihlášení a poté má interaktivní relaci prostředí. Protože telnet ve výchozím nastavení komunikuje pomocí prostého nezašifrovaného textu (včetně vašeho hesla!), NENÍ to doporučeno.
Nicméně, jak říká Christopher ve své vynikající odpovědi, pokud se opravdu snažíte otestovat server http pomocí telnet, můžete k tomu použít program telnet a nepotřebujete server telnet.
Klientský program telnet lze použít k připojení k jiným portům TCP, než je výchozí port 23.
telnet <hostname> <TCP port>
Protože servery HTTP obvykle naslouchají na portu 80, můžete se k portu 80 připojit pomocí programu telnet a zjistit, co server HTTP odesílá do prohlížečů, když se připojí:
telnet google.com 80
To se připojí, ale musíte zadat následující text, který je pouze jednoduchým požadavkem http (velká a malá písmena):
GET / HTTP/1.1 host: test.com
Poté dvakrát stiskněte klávesu Enter.
Zobrazí se vám veškerý surový html, který Google slouží prohlížečům. Stejný koncept můžete použít k otestování vlastní servery http.
Odpověď
telnet
lze použít k testování protokolu HTTP, ale existují nástroje, které jsou pro tento úkol vhodnější. Osobně doporučuji curl
. Je to v podstatě obslužný program příkazového řádku, který je schopen komunikovat s širokou škálou protokolů (HTTP, HTTPS, FTP …). Použití curl
namísto telnet
k otestování serveru HTTP vám ušetří ruční zadávání požadavků HTTP a poskytne vám více informací celkově.Některé funkce, které pro vaši aktuální situaci mohou být užitečné, jsou:
Připojte se k hostiteli pomocí protokolu HTTP a vyžádejte si výchozí dokument:
curl <public ip>
Připojte se k hostiteli pomocí protokolu HTTP a zobrazte pouze záhlaví HTTP:
curl -I <public ip>
Připojte se k hostiteli pomocí protokolu HTTP, zobrazte pouze záhlaví HTTP a postupujte podle přesměrování 3xx:
curl -LI <public ip>
curl
má doslova desítky možností. Doporučuji použít curl --help
pro rychlé shrnutí a man curl
nebo curl --manual
pro podrobnější informace.
Odpověď
Pokud nemáte telnet nebo curl, můžete k připojení portu použít také cat a proc dir:
cat < /dev/tcp/HOST/PORT
Výňatek z tohoto článku (ve španělštině) .