Я использую Wireshark для просмотра всех обменов пакетами между моим клиентским компьютером и веб-сервером.
Я просто подключаюсь к серверу, который выдает ошибку 403 (в качестве примера). Я понимаю, что это 2 пакета HTTP. Но есть 5 пакетов TCP.
(IP-адрес xxx.xx.x.x представляет веб-сервер, для большей ясности в коде ниже)
Что это за TCP-пакеты и какова цель каждого из них?
большое спасибо
Вот пакеты в хронологическом порядке:
Number Time Source Destination Protocol Info
1 0.000 192.168.0.3 xxx.xx.x.x TCP 50250 > http [SYN]...
2 0.0261 xxx.xx.x.x 192.168.0.3 TCP http > 50250 [SYN]...
3 0.0265 192.168.0.3 xxx.xx.x.x TCP 50250 > http [ACK]...
4 0.0267 192.168.0.3 xxx.xx.x.x HTTP GET/ HTTP/1.1
5 0.0547 xxx.xx.x.x 192.168.0.3 TCP http > 50250 [ACK]...
6 0.0588 xxx.xx.x.x 192.168.0.3 HTTP HTTP/1.1 403 Forbidden
7 0.0589 192.168.0.3 xxx.xx.x.x TCP 50250 > http [ACK]...
Первые 3 - ваш стандарт TCPIP трехстороннее рукопожатие.
Следующее - клиентское HTTP-запрос GET
Следующие 2 - это сервер, подтверждающий запрос и возвращающий Код ответа HTTP 403 - сервер настроен на запрет доступа к URL-адресу, запрошенному по какой-либо причине.
Следующим шагом является подтверждение клиентом ответа сервера.
Первые три сегмента TCP - это «трехстороннее рукопожатие», которое TCP использует между хостами для согласования и установления соединения. SYN->, <-SYN ACK, ->ACK
Другие сегменты TCP представляют собой стандартные подтверждения TCP сегментов TCP, полученные хостом, отправляющим подтверждение.
Вот ссылка на библию TCP / IP:
http://www.amazon.com/TCP-IP-Illustrated-Volume-Set/dp/0201776316