HTTP dotaz přes Telnet neprojde

Smaragd

HTTP dotaz přes Telnet neprojde
« kdy: 12. 04. 2013, 19:51:08 »
Zdravim! Uz par dni sa snazim rozbehat HTTP GET poziadavku cez telnet na lokalny web server... Nastudoval som si niekolko materiálov ako by mal vyzerat request ale nedarí sa mi dostat odpoved pravdepodobne koli zaujimavej prkotine. Skusam to na zadiadeni s openwrt. Ak pouzijem prikaz
Kód: [Vybrat]
echo -ne "GET / HTTP/1.0\r\n" | telnet 127.0.0.1 80 v tcpdumpe si pozriem packet a za kazdym CR mi vypise jeden NULL bajt. Vedeli by ste poradit preco mi toto robi a ako by som mohol sfunkcnit?
Nasiel som odkaz na RFC http://www.freesoft.org/CIE/RFC/1123/31.htm ale nejako sa z toho enviem vymotat. Je to chyba telnetu? Skusal som aj varianty echa ako cat printf.
« Poslední změna: 12. 04. 2013, 23:32:21 od Petr Krčmář »


Franta <xkucf03/>

Re:Telnet CR
« Odpověď #1 kdy: 12. 04. 2013, 21:48:18 »
Problém je v tom, že echo skončí hned po vypsání těch dvou řádků a telnet pak ani nestihne přijmout odpověď. Schválně si zkus:

Kód: [Vybrat]
(echo -ne "GET / HTTP/1.0\r\n"; sleep 1) | telnet 127.0.0.1 80
odpověď přijde :-)

Smaragd

Re:Telnet CR
« Odpověď #2 kdy: 12. 04. 2013, 23:31:58 »
Dakujem za odpoved, ale problem to neriesi. Aj ak sa skusim pripojit na server s inym http serverom, odpoved pride(aj ked len bad request) aj bez cakania. No na server lighttpd co sa pokusam pripojit mi to ani s cakanim nepomoze. Tak to vidim  na dokonalost/nedokonalost lighttp-u. Z windowsu ked posielam request tak mi to prejde bez problemu. Windowsacky telnet posiela CR a newline bez problemu. Tak treba nieco s tym telnetom. Nejaky napad ako sa trosku pohnut? Diky

d

Re:HTTP dotaz přes Telnet neprojde
« Odpověď #3 kdy: 12. 04. 2013, 23:46:38 »
Jedna vec je, ze vam chybi jeste jeden prazdny radek, musi byt dva prazdne radky. \r neni povinne btw.

Druha vec je, ze ten telnet to spojeni hned uzavira, zkuste srovnat:

Tohle by melo fungovat:

( echo -ne "GET / HTTP/1.0\n\n"; sleep 1;) | telnet 127.0.0.1 80

Jinak je lepsi misto telnetu pouzit netcat:
echo -ne "GET / HTTP/1.0\n\n" | nc 127.0.0.1 80

Podivejte se do wiresharku/tcpdumpu, ten telnet posle ten pozadavek a hned posila FIN (ukoncuje spojeni), na nic neceka.


mif

Re:HTTP dotaz přes Telnet neprojde
« Odpověď #4 kdy: 12. 04. 2013, 23:48:14 »
este tam skus pridat HTTP parameter Host.


d

Re:HTTP dotaz přes Telnet neprojde
« Odpověď #5 kdy: 12. 04. 2013, 23:51:54 »
S tim srovnanim jsem myslel tyhle 2 cmd:

echo -ne "GET / HTTP/1.0\n\n" | telnet 77.75.76.3 80

echo -ne "GET / HTTP/1.0\n\n" | nc 77.75.76.3 80

d

Re:HTTP dotaz přes Telnet neprojde
« Odpověď #6 kdy: 12. 04. 2013, 23:58:12 »
Cili telnet pouzivat jedine interaktivne, jinak pokud se mu uzavre stdin, tak okamzite ukoncuje spojeni.

dustin

Re:HTTP dotaz přes Telnet neprojde
« Odpověď #7 kdy: 13. 04. 2013, 12:59:05 »
Opravdu by asi bylo lepší se zaměřit na univerzálnější netcat.

Smaragd

Re:HTTP dotaz přes Telnet neprojde
« Odpověď #8 kdy: 14. 04. 2013, 18:54:07 »
Stale sa mi nedari... uz to vyzeralo nadejne zeby som pouzil ukoncenie riadkov iba s newline... no stale to nechce ten webserver zozrat... samozrejme ukoncujem poziadavku s dvoma newline charaktermi. No ak poslem tento requestik na ten server routeru necha otvorene pripojenie a neodpoveda. No ak poslem na iny router s RouterOS (Routerboardik) v poriadku odpovie. Tak isto funguje aj odpoved od DD-Wrt. No openwrt ani airOS nefunguje. Netcat pouzivat uz nemozem lebo nie je na vsetkych platformach, preto som sa chcel pokusit o nieco taketo s telnetom. Nemate nejaky napad ako cez ten telnet pretlacit cisty CarrigeReturn? Myslim ze iba v tom bude pes zakopany ale ak mate nejake ine navrhy rad skusim!