Форум программистов, компьютерный форум, киберфорум
Обо всем!
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 857

Как различные программы работают со стеком TCP/IP одновременно?

22.11.2020, 17:51. Показов 1472. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.

Допустим, Wireshark и браузер работают одновременно. Как возможно, что эти программы обращаются к стеку TCP/IP за одними и теми же данными одновременно и при этом не возникает ошибки (например, когда данные прочитаны браузером быстрее, чем Wireshark'ом, и часть данных уже удалена из буфера ядра)?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.11.2020, 17:51
Ответы с готовыми решениями:

MS visual c++ (не работают различные программы)
Вообщем не работают различные программы #include <iostream> using namespace std; int main() { cout << "Hello,...

как работают одновременно два счетчика в цикле
помогите найти информацию, о том, как работают два счетчика в цикле!! например тут: (во всем интеренете объясняют только про один...

Две звуковые карты работают одновременно, как их разделить
Здраствуйте. Есть звуковая встроенная в материнку и на передней панели. Обе realtek hd. Определяются как одно устройство, звук идет на...

8
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,898
Записей в блоге: 1
22.11.2020, 19:19
mikello, Wireshark по идее работает на уровне драйвера сетевой карты. Он получает данные из сети, сохраняет их к себе и передает их дальше чтобы ОС уже передала их приложению. Соответственно никакой одновременной работы со стеком здесь нет. Они работают последовательно. Причем браузер даже не знает что кто-то находится перед ним в цепочке передачи/получения данных. И значит браузер никак не сможет прочитать данные быстрее Wireshark.
1
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 857
22.11.2020, 19:52  [ТС]
OwenGlendower, спасибо) А блокировщик рекламы(например, в виде расширения для браузера) и браузер работают тоже последовательно?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,898
Записей в блоге: 1
22.11.2020, 21:54
mikello, можно считать что да.
1
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 857
29.11.2020, 05:29  [ТС]
OwenGlendower, здравствуйте)

И значит браузер никак не сможет прочитать данные быстрее Wireshark.
А почему не может возникнуть следующая ситуация (учитывая многозадачность ОС и переключение между программами):

1.браузер (отправил запрос)
2.Wireshark (перехватил запрос и отправил данные дальше)
1.браузер(получил ответ быстрее Wireshark)
2.Wireshark

Или, например:

1.браузер (отправил запрос и данные были отправлены в сеть, до Wireshark)
2. Wireshark
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
29.11.2020, 08:23
mikello, вы знакомы с сетевой моделью OSI?
Браузер работает в самом высоком слое - седьмом, а Wireshark - начиная со второго.
Браузер не может получить данные раньше Wireshark по той же причине, по которой он не может их получить раньше сетевой карты.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,898
Записей в блоге: 1
29.11.2020, 10:33
mikello, можно считать что да.
Цитата Сообщение от mikello Посмотреть сообщение
А почему не может возникнуть следующая ситуация (учитывая многозадачность ОС и переключение между программами):
Потому что на этом уровне нет никакой многозадачности. Действия выполняются последовательно. Сетевая карта ⟷ Wireshark ⟷ браузер.
0
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 857
29.11.2020, 17:28  [ТС]
kolorotur,

вы знакомы с сетевой моделью OSI?
Знаком. И не отрицаю, что "Браузер работает в самом высоком слое - седьмом, а Wireshark - начиная со второго."

Я не понимаю, почему за время переключения между программами, данные отправленные с 7 уровня не могут дойти до сети, минуя Wireshark (минуя - т.к. Wireshark не обращался за это время к драйверу):

1. За квант времени браузер отправил запрос -> Данные ушли в стек, дошли до 1 уровня и были отправлены в сеть
2. За второй квант времени Wireshark обращается к драйверу и ничего не считывает
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,898
Записей в блоге: 1
29.11.2020, 17:55
mikello, потому что Wireshark устанавливает свой драйвер с помощью которого он может перехватывать траффик. А на уровне драйверов нет многозадачности.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.11.2020, 17:55
Помогаю со студенческими работами здесь

Не работают основные операции со стеком чисел
помогите исправить ошибки вот код // stack.cpp : Defines the entry point for the console application. //программа работы со стеком...

После создания html элементов с js - все они работают вметсе одновременно а не как отдельные
Выходит так, что я пытаюсь сделать 2 (хотя на деле их там будет очень много) контейнеров внутри которых будут свайперы (так называется...

Не работают getch() и cin в двух разных потоках на ввод одновременно/Как снизить нагрузку на процессор?
Код: #include <iostream> #include <cstdlib> #include <conio.h> #include <thread> // g++ th.cpp -o th -lws2_32 -std=c++11 ...

Несколько tcp подключений одновременно
Здравствуйте. Вопрос не столько по qt, сколько по принципу программирования в-целом. Допустим необходимо по разным ip адресам выполнить...

Как с помощью программы на C++ изобразить различные графики и фигуры?
Собсно,как с помощью программы на с++ изобразить различные графики и фигуры?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru