Szeretném tudni, hogy szükséges-e a gépek mindkét oldalán engedélyezni a telnetet a telnet-kapcsolat eléréséhez.
Itt a probléma: megpróbálok egyesíteni egy nyilvános IP-t a 80-as porton egy Linux webszerverről (Red Hat).
Ebben a nyilvános IP-ben engedélyezve van a HTTP (80). I ” Nem vagyok biztos benne, hogy a telnet engedélyezve van-e, de a tulajdonos azt mondja.
Linux szerveremen a HTTP (80) engedélyezve van, de a telnet nem. Ehelyett az SSH engedélyezve van.
Amikor a Linux szerverről telnetezek: telnet PublicIP 80
, a következőt mondja ki:
Trying "PublicIP"... Connected to "PublicIP" ("PublicIP"). Escape character is "^]". Connection closed by foreign host
Engedélyeznie kell a telnetet a szerveremen a működéséhez? Mivel a másik végén nincs probléma, amit más források is megerősítettek. Nyilvános IP: 220.226.190.180
Kérjük, magyarázza el, hogyan tudom működtetni. Ha engedélyeznem kell a telnetet a Linux szerveremen, kérem ossza meg a parancsot és a módszert erre.
Megjegyzések
- mivel tudjuk, hogy a telnet port nem biztonságos, így a legtöbb fw blokkolja, biztos vagy benne hogy nincs ‘ t tűzfal (a másik gépen), amely blokkolja a telnet portot.
- Úgy tűnik, már megtette, amit akart … Telnet ‘ a távoli HTTP szolgáltatáshoz érkezett, és mivel nem írt ‘ semmit, ez bezárta a kapcsolatot. Nem kell engedélyeznie a Telnet szolgáltatást (Szerver) bármely gépen. Ön a telnet klienst használja. Használhatja a curl / wget / nc / bármit is, hogy ugyanezt tegye.
- Nagyon valószínű, hogy van. De megengedett bárkinek, még én is tudok telnetezni az otthoni hálózatomból a Windows PC-n, de az irodámból egyebek mellett m szemben. ebből a szerverből minden megengedett a tűzfal oldalán.
- @Networker a biztonsági probléma (ebben az összefüggésben) csak hülyeség. A telnetet kliensként használják egy szolgáltatás elérhetőségének tesztelésére – és NEM, a telnet port nincs benne.
Válasz
A távoli webszerverrel való kapcsolatot próbálja tesztelni a következővel: telnet
? Akkor nem: nincs szüksége telnet szerverekre. A távoli HTTP szerver parancsokat vár, amint azt a escape karakter jelzi. Amikor a várakozás időtúllép, a kapcsolat megszakad. Tehát …
telnet <hostname or ip address> 80
Ezután írjon be néhány HTTP-parancsot:
GET / HTTP/1.1 host: <fqdn>
Használja annak a gazdagépnek az FQDN-jét, amelynek kiszolgálására a távoli webszerver van konfigurálva. Visszaadja az alapértelmezett dokumentumot a fenti HTTP parancsokkal. Kérjük, vegye figyelembe a 0xAF pontos megjegyzését.
Megjegyzések
- Az OP-nak 1 üres sort kell megadnia a bemenete után, hogy visszakereshesse a választ. A legtöbb HTTP szerver lehetővé teszi a HTTP / 1.0 kommunikációt. Ha az operációs rendszer csak a HTTP szolgáltatást próbálja tesztelni, akkor egyszerűen írhat ” GET / HTTP / 1.0 “, és megnyomhatja az Enter billentyűt 2 alkalommal.
Válasz
Az első mondatban szereplő kérdés megválaszolásához: A Telnet két dolog: a kiszolgálóoldali alkalmazás (démon) és kliensoldali alkalmazás.
Amikor egy telnet szerver fut, a számítógép a TCP 23 porton figyeli a kapcsolatokat egy telnet kliensről.
A telnet kliens egyetlen porton sem hallgat, inkább megpróbál csatlakozni a számítógép TCP 23 (alapértelmezés szerint) portjához. Ha megfelelően csatlakozik, a felhasználót a rendszer bejelentheti, és interaktív shell-munkamenetet folytathat. Mivel a telnet alapértelmezés szerint sima, titkosítatlan szöveggel (beleértve a jelszavát is!) Kommunikál, ez NEM ajánlott.
Azonban, amint Christopher kiváló válaszában mondja, ha valóban egy http szervert próbálsz tesztelni telnet, ehhez használhatja a telnet programot, és nincs szüksége telnet szerverre.
A telnet kliens program használható az alapértelmezett 23 porton kívüli egyéb TCP portokhoz való csatlakozásra.
telnet <hostname> <TCP port>
Mivel a http-szerverek általában a 80-as porton hallgatnak, a telnet program segítségével csatlakozhat a 80-as portra, és megnézheti, hogy a http-szerver mit küld a böngészőkhöz, amikor csatlakoznak:
telnet google.com 80
Ez összekapcsolódik, de akkor be kell írnia a következő szöveget, amely csak egy egyszerű http-kérés (az eset fontos):
GET / HTTP/1.1 host: test.com
Ezután nyomja meg kétszer az Enter billentyűt.
Ezután meglátja az összes nyers html-t, amelyet a Google a böngészőknek szolgál. Ugyanezzel a koncepcióval tesztelheti a saját http szerverek.
Válasz
telnet
használható a HTTP protokoll tesztelésére, de vannak olyan eszközök, amelyek jobban megfelelnek a feladatnak. Én személy szerint a következőt ajánlom: curl
. Ez lényegében egy parancssori segédprogram, amely képes sokféle protokollal (HTTP, HTTPS, FTP …) kommunikálni. A curl
használata a telnet
helyett egy HTTP szerver teszteléséhez megment, így nem kell manuálisan beírnia a HTTP kéréseket, és további információk összességében.Néhány olyan funkció, amelyet a jelenlegi helyzeted szempontjából hasznosnak találhat: Csatlakozás egy gazdagéphez HTTP használatával, és csak a HTTP fejlécek megtekintése:
curl -I <public ip>
Csatlakozás a gazdagéphez HTTP használatával, csak a HTTP fejlécek megtekintése és a 3xx átirányítások követése:
curl -LI <public ip>
curl
szó szerint több tucat opcióval rendelkezik. Javaslom a curl --help
rövid összefoglaló, a man curl
vagy a curl --manual
használatát részletesebb információkért.
Válasz
Ha nincs telnetje vagy curlje, akkor a cat és a proc dir segítségével is csatlakoztathatja a portot:
cat < /dev/tcp/HOST/PORT
Kivonva ebből a cikkből (spanyolul) .