Gå til innhold
Trenger du hjelp med internett og nettverk? Still spørsmål her ×

Problemer med HTTP i Telnet-klient


Anbefalte innlegg

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.no
Connection: 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 av Augural
Lenke til kommentar
Videoannonse
Annonse

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 av Nedward
Lenke til kommentar

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...