2005-12-30, 14:32
  #1
Medlem
MartinGurras avatar
När jag går in på www.google.se så ser jag i "live HTTP headers" att jag skickar:

GET / HTTP/1.1
Host: www.google.se
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.8) Gecko/20051111 Firefox/1.5
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: sv,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

Google säger att allt är ok och jag får webbsidan.

Men om jag telnettar till www.google.se 80 och skickar iväg precis samma request så får jag ett 400 Bad Request-svar tillbaka. Någon som har någon idé om varför?
Citera
2005-12-30, 14:55
  #2
Medlem
jag gissar på att när man telnetar så tar det längre tid att skicka informationen (för man skriver ju..), så servern väntar i bestämd tid..
Citera
2005-12-30, 19:19
  #3
Medlem
MartinGurras avatar
Det var en ganska dålig gissning
Citera
2005-12-31, 12:34
  #4
Medlem
blueCommands avatar
Enterslag brukar det vara.

En HTTP request (iaf 1.0) avslutas med 2 enterslag. I telnet är jag rätt säker på att i windows miljö skickas \r\n istället för bara \n vilket kan förvirra vissa servrar. Testa att skriva HTTP/1.0 istället, brukar fungera prima
Citera
2005-12-31, 13:18
  #5
Medlem
MartinGurras avatar
Jag har inställt att Enter-knappen ska skicka CR och LF. Har för mig att jag läste att det skulle vara det. Men jag testad att ändra den till bara CR och det gjorde ingen skillnad. Provade med att ändra till HTTP/1.0 oxå, men det blev samma resultat :/

Nån annan som orkar telneta till google och se om det funkar?
Citera
2005-12-31, 14:35
  #6
Medlem
är live HTTP headers en packet sniffer? isf kan du sniffa packeten som skickas med telnet och sen jämföra med webbläsarens packet.
Citera
2005-12-31, 15:54
  #7
Medlem
MartinGurras avatar
Fick det att funka nu. Bytte till PuTTY och då funkade det fint.
Antar att det var något med enterslagen i telnet som bluecommand sa.
Citera
2005-12-31, 18:08
  #8
Medlem
xrizzs avatar
Jag brukar också få problem när jag ska testa såna här saker med telnet, vet inte varför... Finns bättre alternativ som väl är!

Netcat brukar vara ganska bra till dylika operationer.
Man lägger sin GET-request i en textfil, sen kör man "nc www.google.com > textfilen" (osäker på syntaxen, finns beskrivet i netcats hjälpfil dock).

Ett annat alternativ är cURL från http://curl.haxx.se/, den kan man scripta och fiffla med så mycket man orkar. Min nuvarande favorit.

Har länge funderat på att installera Achilles (http://www.mavensecurity.com/achilles) eller Atstakes webproxy (Uppköpta av Symantec men verkar finnas här http://www.securityconfig.com/softwa..._webproxy.html)
eller kanske Spike (http://www.immunitysec.com/resources...oftware.shtml). Tyvärr är min burk redan alltför full med skräp(?). Är det någon annan som har testat något av dessa program?

Edit: syntax i nc ska vara "nc -v www.google.com 80 < Get.txt" där Get.txt är en fil med texten "GET / HTTP/1.0" och en tomrad, inte som jag skrev ovan. Jag testade att skicka trådskaparens GET-request, och det gick inget vidare. Fick tom ett stycke med maskinkod och datorn pep två gånger...
Citera
2005-12-31, 22:22
  #9
Medlem
Citat:
Ursprungligen postat av xrizz
Jag testade att skicka trådskaparens GET-request, och det gick inget vidare. Fick tom ett stycke med maskinkod och datorn pep två gånger...
Det var nog inte maskinkod du fick utan gzip komprimerad html eftersom requeste innehöll:
Accept-Encoding: gzip,deflate
tar du bort den raden så får du okomprimerad text
Citera
2006-01-01, 02:17
  #10
Medlem
xrizzs avatar
Citat:
Det var nog inte maskinkod du fick utan gzip komprimerad html eftersom requeste innehöll:
Accept-Encoding: gzip,deflate
tar du bort den raden så får du okomprimerad text

Ja, så var det naturligtvis! Jag blev mest förvånad för att det pep två gånger, som error beeps typ.

Jag testade utan raden ifråga och då gick det bra, fick upp hela googlesidan i html.
Men om jag kör med bara "GET / HTTP/1.0" och tomrad så får jag följande svar:
Kod:
www.l.google.com [66.249.93.99] 80 (http) open
HTTP/1.0 302 Found
Location: http://www.google.se/
Set-Cookie:
osv osv

<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.se/">here</A>.

Varför?

Jag insåg också att varken cURL eller netcat egentligen gör det som trådskaparen efterlyste, båda verktygen gör något slag av automatisk formatering av requesten. Jag tror att man får mer kontroll över vad som faktiskt skickas med telnet (eller Putty då). Nackdelen är ju att det blir jobbigt med långa requests, man kanske kan göra bat-filer eller nåt?

OT: Är nog fan ingen mer än jag som sitter klockan 2.15 på nyårsnatten och snöar på html och nätverksprotokoll!
Gott Nytt År på er allihopa!
Citera
2006-01-01, 04:39
  #11
Medlem
Citat:
Ursprungligen postat av xrizz
Ja, så var det naturligtvis! Jag blev mest förvånad för att det pep två gånger, som error beeps typ.

Jag testade utan raden ifråga och då gick det bra, fick upp hela googlesidan i html.
Men om jag kör med bara "GET / HTTP/1.0" och tomrad så får jag följande svar:
Kod:
www.l.google.com [66.249.93.99] 80 (http) open
HTTP/1.0 302 Found
Location: http://www.google.se/
Set-Cookie:
osv osv

<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.se/">here</A>.

Varför?

Det kanske beror på att du inte skicka någon Host: information?

Citat:
Ursprungligen postat av xrizz
Jag insåg också att varken cURL eller netcat egentligen gör det som trådskaparen efterlyste, båda verktygen gör något slag av automatisk formatering av requesten. Jag tror att man får mer kontroll över vad som faktiskt skickas med telnet (eller Putty då). Nackdelen är ju att det blir jobbigt med långa requests, man kanske kan göra bat-filer eller nåt?

OT: Är nog fan ingen mer än jag som sitter klockan 2.15 på nyårsnatten och snöar på html och nätverksprotokoll!
Gott Nytt År på er allihopa!

Man kan ju alltid kopiera det man vill skicka och sedan klistra in det i telnet.
Citera
2006-01-01, 05:45
  #12
Medlem
xrizzs avatar
Citat:
Det kanske beror på att du inte skicka någon Host: information?
Jo, så kan det vara. Kollade lite mer och det verkar som att ganska många sidor (tradera, hotmail) bara skickar "302 moved" när man kör netcat-tricket utan modifiering. men andra (searchlores.org mfl) skickar hela rasket.
Jag är inte så påläst som jag borde på alla de här kommunikationsprotokollen. Har en viss tendens att ladda hem eböcker och köpa databöcker på rea/begagnat, sedan blir de bara liggande...
Ska i alla fall skumma igenom RFC 2616 nu som godnattsaga!
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in