Čuchať HTTP relácie

Link: http://www.linuxonly.nl/docs/38/0_Sniffing_a_HTTP_session.html

1

Úvod

Tento článok je k dispozícii aj v Serbo-Croatian.

Tento článok vysvetľuje, ako získať HTTP stopy. To znamená, že sa získať text, ktorý je poslať na server a späť pri žiadosti o webovej stránke. Tieto nástroje sú diskutované:

 

Názov Metóda Jazyk Funkcie Platforma
Wireshark paketové zachytiť C stredná multiplatformový
Fiddler WinInet / HTTP proxy .ČISTÝ rozsiahle Windows
Httpdbg HTTP proxy C jednoduché Unix
Krkat Proxy HTTP proxy Java rozsiahle multiplatformový
TCPWatch port forward / HTTP proxy Python jednoduché multiplatformový

Príklad výpisu:

01 GET / HTTP/1.1
02 Host: localhost
03 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7
04 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
05 Accept-Language: en-us,en;q=0.5
06 Accept-Encoding: gzip,deflate
07 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
08 Keep-Alive: 300
09 Connection: keep-alive
10 If-Modified-Since: Thu, 21 Jan 2010 21:54:15 GMT
11 If-None-Match: "1f7804a-2c-47db3be780fc0"
12 Cache-Control: max-age=0
13
14 HTTP/1.1 304 Not Modified
15 Date: Mon, 15 Feb 2010 15:33:05 GMT
16 Server: Apache/2
17 Connection: Keep-Alive
18 Keep-Alive: timeout=1, max=100
19 ETag: "1f7804a-2c-47db3be780fc0"
20 Vary: Accept-Encoding,User-Agent

Viac nástroje:

Wireshark je network sniffer, ktoré sa môžu zobraziť a uložiť HTTP transakcie. Pretože to funguje na paketové úrovni a nie na HTTP úrovni, klient nemusí byť nakonfigurovaný tak, aby zachytiť žiadosti.

    1. Štart Wireshark. Možno budete musieť spustiť ako root, aby ste mali dostatok povolenia na čuchať niektoré pakety.
    2. Ak je počítač, na ktorom ste sniffing je rovnaký počítač, ktorý iniciuje HTTP transakcie, vypnúť promiskuitný režim rozhrania. To znamená, že nebude počúvať na všetky pakety, ale len pakety určené pre tento sieťové rozhranie.

23. Môžete zadať filter ako tcp.port == 80 v filtra bar.

4. Do vašej požiadavky.

5. Nájsť paket s požiadavkou. To sa zvyčajne začínajú s GET alebo POST.

6. Kliknite Pravým tlačidlom myši a vyberte “Podľa TCP prúd”. 3

7. Zobrazí sa okno s HTTP diskusiu. Môžete uložiť pomocou Uložiť Ako tlačidlo.

4

  1. Štart Fiddler.
  2. Ak vaše HTTP klient nie je pomocou WinInet, konfiguráciu proxy server tak, že návštevnosť je smerované cez Fiddler. Použitie ako proxy localhost, port 8888.
  3. Do vašej požiadavky.
  4. Kliknite na zodpovedajúce HTTP hovor v Fiddler.
  5. Ak žiadosť nie je stlačený alebo kódovaný, dekódovať pomocou “Transformer” na karte.
    5
  6. Odpoveď môžete pozrieť v dolnej časti karty. Môže byť otvorený v programe poznámkový blok a následne uložili.6

Httpdbg je príkazový riadok, HTTP proxy, ktorý vypíše všetky požiadavky a odpovede na stdout a do súboru denníka.

  1. Štart httpdbg, číslo portu ako argument. V predvolenom nastavení, httpdbg zachraňuje iba hlavičky. Použitie-t možnosť zobraziť text.
  2. Konfigurovať klienta používať httpdbg ako proxy. Hosť localhost, rovnaký port prešiel ako argument na httpdbg.
  3. Urobiť žiadosti.
  4. žiadosť a odpoveď je napísané na httpdbg.denník.
01 $ ./httpdbg -t 8080
02 ./httpdbg version 0.8 started at port 8080 (http://www.reitshamer.com/source/)
03 GET http://twitter.com/ HTTP/1.1
04 Accept-Encoding: gzip,deflate
05 Accept-Language: en-us,en;q=0.5
06 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
07 Host: twitter.com
08 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7
09 Keep-Alive: 300
10 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
11
12 ----------------------------END OF HTTP REQUEST----------------------------
13 HTTP/1.0 200 OK
14 Content-Length: 5432
15 X-Transaction: 1265741234-96812-30412
16 Server: hi

Burp Proxy je časť Burp Suite, toolkit pre útoky na webové aplikácie. To je Java program, ktorý beží ako je HTTP proxy alebo transparentný proxy. Na Burp Proxy umožňuje odposluch HTTP žiadosti, ak sa žiadosť môže byť menený pred odoslaním na server.

  1. Štart Burp Proxy, spustením java-jar burpsuite_v1.3.jar.
  2. Konfigurovať klienta na používanie servera proxy. Hosť localhost, port 8888.
  3. Urobiť žiadosti.
  4. Burp Proxy zobrazuje žiadosť. Kliknite na tlačidlo “ďalej” žiadosť odošlete. Kliknite na tlačidlo “zachytiť” zase vedie mimo a dopredu každej žiadosti ihneď.7
  5. Odpoveď je uvedené v časti “história” na karte.8

TCPWatch je jednoduchý Python program, ktorý má dva prevádzkové režimy:

  • HTTP proxy
  • Port forwarding

V port forwarding, TCPWatch počúva na miestny prístav a relé HTTP požiadanie zaslané na tento port vzdialeného hostiteľa. Nasledovný príkaz bude počúvať na HTTP požiadavky na porte 8000 a zašlú ich linuxonly.nl:

1 $ python tcpwatch.py -L 8000:linuxonly.nl:80

Teda žiadosť možno vidieť pomocou adresy URL http://localhost:8000/. Avšak, ako TCPWatch nie je prepísať Hosť hlavičke, toto nebude spúšťať správne virtuálneho hostiteľa.

Proxy mode

  1. Štart TCPWatch, spustením python tcpwatch.py -p 8080.
  2. Konfigurovať klienta na používanie servera proxy. Hosť localhost, port 8080.
  3. Urobiť žiadosti.
  4. V TCPWatch, kliknite na číslo v ľavom stĺpci.
  5. žiadosť a odpoveď sa zobrazí v pravom stĺpci.

Presmerovanie režime

  1. Štart TCPWatch, spustením python tcpwatch.py -L 8000:hosť.príklad.com:80, kde host.example.com je stránka, ak sa chcete pripojiť, a 8000 je lokálny port počúvať.
  2. Urobiť žiadosť, pomocou adresy URL http://localhost:8000/.
  3. V TCPWatch, kliknite na číslo v ľavom stĺpci.
  4. Žiadosť a odpoveď sa zobrazí v pravom stĺpci.9