Anàlisi HTTP mitjançant Wireshark

Http Analysis Using Wireshark



Què és HTTP?

El primer és que tota la forma completa d’HTTP és el protocol de transferència d’hipertext. HTTP és un protocol de capa d'aplicació en model ISO o TCP / IP. Vegeu la imatge següent per esbrinar HTTP que resideix a la capa d’aplicació.







HTTP és utilitzat per World Wide Web (w.w.w) i defineix com es formaten i transmeten els missatges amb el navegador. Per tant, HTTP defineix les regles sobre les accions que cal fer quan un navegador rep l'ordre HTTP. I també HTTP defineix regles per transmetre ordres HTTP per obtenir dades del servidor.



Per exemple, quan introduïu una URL al navegador (Internet Explorer, Chrome, Firefox, Safari, etc.), realment envia una ordre HTTP al servidor i el servidor respon amb una ordre adequada.



Mètodes HTTP:

Hi ha alguns conjunts de mètodes per a HTTP / 1.1 (aquesta és la versió HTTP)





OBTENIR, CAP, PUBLICAR, POSAR, ESBORRAR, CONNECTAR, OPCIÓ i Rastrejar.

No anirem en els detalls de cada mètode, sinó que coneixerem els mètodes que es veuen amb molta freqüència



ACONSEGUIR: La sol·licitud GET sol·licita dades del servidor web. Aquest és un mètode principal utilitzat de retrocés de documents. Veurem un exemple pràctic d’aquest mètode.

POST: El mètode POST s’utilitza quan cal enviar algunes dades al servidor.

HTTP és Wiresahark:

Provem alguna cosa pràctica per entendre com funciona HTTP?

Així doncs, en aquest exemple el descarregarem alice.txt (fitxer de dades present al servidor) des de gaia.cs.umass.edu servidor.

Setps:

  1. Obriu l'URL http://gaia.cs.umass.edu/wireshark-labs/alice.txt [Coneixem l'URL completa per descarregar alice.txt] al navegador de l'ordinador.
  2. Ara veiem el fitxer descarregat al navegador. Aquí teniu la captura de pantalla

  1. En paral·lel, hem de capturar els paquets a Wireshark.

Intercanvis de paquets HTTP a Wireshark:

Abans d’entrar a HTTP hem de saber que HTTP utilitza el port 80 i TCP com a protocol de capa de transport [Explicarem TCP en un altre tema].

Ara vegem què passa a la xarxa quan posem aquest URL i premem Retorn al navegador.

Aquí teniu la captura de pantalla de

Encaix de mans de tres vies TCP ——-> HTTP OK ——-> Dades TCP [contingut de alice.txt] ——->

HTTP-OK

Ara vegem què hi ha dins dels paquets HTTP GET i HTTP OK.

Nota: explicarem els intercanvis TCP en un altre tema.

HTTP OBTÉ:

Després d'haver efectuat l'aplicació de mans de tres vies TCP [paquets SYN, SYN + ACK i ACK], la sol·licitud HTTP GET s'envia al servidor i aquí teniu els camps importants del paquet.

1. Mètode de sol·licitud: OBTÉ ==> El paquet és un HTTP GET.

2. Sol·liciteu URI: /wireshark-labs/alice.txt ==> El client sol·licita el fitxer alice.txt present a / Wireshark-labs

3. Sol·liciteu la versió: HTTP / 1.1 ==> És la versió 1.1 de HTTP

4. Accepteu: text / html, application / xhtml + xml, image / jxr, * / * ==> Indica al servidor el tipus de fitxer que pot acceptar el [navegador del costat del client]. Aquí el client espera alice.txt, que és un tipus de text.

5. Accept-Idioma: en-US ==> Estàndard lingüístic acceptat.

6. Agent-usuari: Mozilla / 5.0 (Windows NT 10.0; WOW64; Trident / 7.0; rv: 11.0) com Gecko ==> Tipus de navegador del costat del client. Fins i tot si utilitzem Internet Explorer, però ho veiem sempre / el temps màxim diu Mozilla

7. Acceptar-codificar: gzip, desinfla ==> Codificació acceptada al costat del client.

8.Host: gaia.cs.umass.edu ==> Aquest és el nom del servidor web on el client envia la sol·licitud HTTP GET.

9. Connexió: Mantenir-se viu ==> La connexió controla si la connexió de xarxa continua oberta un cop finalitzada la transacció actual. El tipus de connexió es manté viu.

Aquí teniu la captura de pantalla dels camps de paquets HTTP-GET

HTTP OK:

Després d’enviar correctament les dades TCP [contingut d’alice.txt], s’envia HTTP OK al client i aquí teniu els camps importants del paquet.
1. Versió de resposta: HTTP / 1.1 ==> Aquí el servidor també a la versió 1.1 de HTTP
2. Codi d’estat: 200 ==> Codi d'estat enviat pel servidor.
3. Frase de resposta: D'acord ==> Frase de resposta enviada pel servidor.

Per tant, des del 2 i el 3 obtenim 200 OK, cosa que significa que la sol·licitud [HTTP GET] ha tingut èxit.

4.Date: Diumenge, 10 de febrer de 2019 06:24:19 GMT ==> Data actual, hora en GMT quan el servidor va rebre HTTP GET.
5. Servidor: Apache / 2.4.6 (CentOS) OpenSSL / 1.0.2k-fips PHP / 5.4.16 mod_perl / 2.0.10 Perl / v5.16.3 ==> Detalls del servidor i versions de configuracions.
6. Última modificació : Dissabte, 21 d'agost de 2004 a les 14:21:11 GMT ==> Data i hora de la darrera modificació del fitxer alice.txt.
7. ETIQUETA: 2524a-3e22aba3a03c0 ==> L'ETag indica que el contingut no es modifica per ajudar a la memòria cau i millorar el rendiment. O si el contingut ha canviat, les etiquetes són útils per evitar que les actualitzacions simultànies d'un recurs es sobreescrivin.
8. Accept-Ranges: bytes ==> El byte és la unitat que s’utilitza al servidor per al contingut.
9. Longitud del contingut: 152.138 ==> Aquesta és la longitud total de l'alice.txt en bytes.
10. Mantenir-se viu: temps d'espera = 5, màxim = 100 ==> Manteniu els paràmetres vius.
11. Connexió: Mantenir amb vida ==> Connexió controla si la connexió de xarxa continua oberta un cop finalitzada la transacció actual. El tipus de connexió es manté viu.
12. Tipus de contingut: text / pla; charset = UTF-8 ==> El tipus de contingut [alice.txt] és text i el conjunt de caràcters estàndard és UTF-8.

Aquí teniu la captura de pantalla dels diferents camps del paquet HTTP OK.

Ara sabem què passa quan sol·licitem qualsevol fitxer present al servidor web.

Conclusió:

HTTP és un protocol d’aplicació senzill que fem servir tots els dies de la nostra vida. Però no és segur, de manera que s’ha implementat HTTPS. Que S significa segur. Per això, el nom màxim de servidor web comença per http s: // [nomdel lloc web] . Això significa que totes les comunicacions entre vosaltres i el servidor estan encriptades. En el futur, tindrem un debat separat sobre aquest HTTPS.