Когда открываются TCP соединения? - PullRequest
0 голосов
/ 28 февраля 2012

Я хотел определить, какая версия HTTP используется (эмпирическим путем), отслеживая количество TCP-соединений, которые открываются, когда браузеру требуется какая-то страница. Я выбрал страницу с двумя картинками и запустил

netstat -s | grep "active connections"

Результат составил 1613

Затем я открыл эту страницу http://c2.com/doc/pages.html и снова запустил эту команду: Результат был 1637.

Как это возможно, если я закрыл все веб-клиенты, которые могут отправлять TCP-пакеты, там открыты только браузер и bash. Почему было открыто так много TCP-соединений?

Ответы [ 2 ]

2 голосов
/ 28 февраля 2012

Как говорит @ jørgensen, список активных соединений все соединения, открытые после инициализации стека TCP / IP (на практике последняя загрузка), поэтому 24 соединения не так много .

Число не 1, а 24, вероятно, потому что браузер не отправляет заголовок Connection: Keep-Alive, поэтому браузер открывает новое TCP-соединение, чтобы получить все элементы (например, изображения), необходимые для отображения страницы.

Чтобы увидеть количество текущих УСТАНОВЛЕННЫХ соединений, выполните одно из следующих действий:

netstat -nat|grep ESTABLISHED|wc -l

или

netstat -s |grep "connections established"
0 голосов
/ 28 февраля 2012

Гм, потому что, если вы действительно посмотрите на результат, он показывает «активные соединения», то есть он подсчитывает все соединения, сделанные с момента загрузки машины .

...