Augural Skrevet 20. april 2014 Del Skrevet 20. april 2014 (endret) Jeg kan noe teorisk om datakommunikasjon, men jeg har liten erfaring med Telnet og lignende praktiske verktøy. Dette er egentlig første gang jeg har prøvd det. Jeg får mange 400 Bad Request- og noen 404 Not Found-responser, men jeg forstår ikke hvorfor. Jeg kan eksempelvis koble meg til vg.no på port 80 med Telnet-klienten til PuTTY. TCP-Handshake ser ut til å fungere normalt, og jeg ser ikke hva jeg gjør annerledes enn andre (på eksempelvis YouTube), og jeg ser heller ikke hva jeg gjør annerledes enn nettleseren min. Jeg begynner å skrive f.eks. dette:GET / HTTP/1.1 Trykker jeg enter to ganger så får jeg svaret 400 Bad Request. Hvis jeg forsøker å trykke enter én gang mellom hver linje og skrive flere linjer slik: GET / HTTP/1.1 Host: vg.noConnection: keep-alive …så ser jeg av Wireshark at hver gang jeg trykket enter så ble det sendt HTTP-data: "Continuation or non-HTTP traffic". Den siste HTTP-pakken inneholder faktisk bare det siste enter-tastet: "\r\n". Responsen er fortsatt 400 Bad Request. Hvorfor klarer jeg ikke å sende flere linjer i én pakke framfor én pakke per linje (jeg får ikke satt inn line break uten å sende forrige linje som en egen pakke), og hvorfor får jeg ikke noe annet enn 400 Bad Request-respons (og et par 404 Not Found)? Jeg har forsøkt med flere websider og med ulike HTTP-elementer, og jeg har også testet å kopiere nøyaktig det nettleseren min har sendt, men uansett får jeg den samme feilmeldingen. Noen ganger har jeg fått 404 Not Found, selv om jeg peker på noe som eksisterer. Endret 20. april 2014 av Augural Lenke til kommentar
Nedward Skrevet 20. april 2014 Del Skrevet 20. april 2014 (endret) Du må sette "Telnet negotiation mode" til "passive" i PuTTY. Instillingen finner du under connections->telnet Eventuelt kan du bruke "raw" tilkoblingstype. Jeg antar 400 og 404 problemet kan ha noe med at du forsøker å koble til som en Telnet-klient på en HTTP-server Angående newline og carrige return er jeg ikke sikker. Jeg observerer i min Wireshark at både inngående HTTP og utgående HTTP bruker \r\n uansett hvor det kommer fra. Antar det skal være slik da. Endret 20. april 2014 av Nedward Lenke til kommentar
Augural Skrevet 20. april 2014 Forfatter Del Skrevet 20. april 2014 Det fungerer nå. Jeg tenkte forøvrig ikke så mye på hva slags tegn HTTP bruker som newline, men hvordan jeg kan sende flere linjer fra PuTTY. Dette var ikke målet: GET / HTTP/1.1\r\nHost: vg.no Dette var målet: GET / HTTP/1.1\r\n Host: vg.no Men det fungerer nå, så da er alt flott. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå