Отправка пакетов
Модератор: Модераторы разделов
-
frp
- Сообщения: 1445
- ОС: Debian Squeeze
Отправка пакетов
Как отправить в локальной сети ОДИН пакет чтобы его могли получить НЕСКОЛЬКО компютеров?
-
brandy
- Сообщения: 41
- ОС: Gentoo
Re: Отправка пакетов
Используйте broadcast-адреса.
Например, для сетки 192.168.1.0/24, если отправить пакет на адрес 192.168.1.255 и порт, скажем 55555, то его получат все компьютеры в подсети, слушающие этот адрес. Вроде справедливо только для UDP.
-
StasikOS
- Сообщения: 82
- ОС: Ubuntu Lucid Lynx
Re: Отправка пакетов
Можно использовать только протокол UDP или ICMP и broadcast-адрес. Вместо 192.168.1.255 можно использовать 255.255.255.255. Пакет получат все компьютеры, которые находятся в той же сети. Есть еще вариант multicast, который позволит послать его выборочно нескольким хостам, но это более сложный механизм.
-
brandy
- Сообщения: 41
- ОС: Gentoo
Re: Отправка пакетов
Прорезюмирую сказанное - если надо несколько тсп-сессий - не получится, только upd+icmp, и то для icmp-броадкаста сами пакеты надо специфически формировать.
-
frp
- Сообщения: 1445
- ОС: Debian Squeeze
Re: Отправка пакетов
А можно так, чтобы получали пакет не все копютеры в сети, а только некоторые?
-
nesk
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Отправка пакетов
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
brandy
- Сообщения: 41
- ОС: Gentoo
Re: Отправка пакетов
Получат все сетевые карты эти пакеты. Погуглите на тему "broadcast".
-
frp
- Сообщения: 1445
- ОС: Debian Squeeze
Re: Отправка пакетов
Погуглил. На broadcast то же самое что и здесь, только в виде исходников. На multicast гугл ничего понятного не нашел. Буду использовать broadcast.
А почему для TCP нельзя, ведь его сниферы тоже перехватывают?
А почему для TCP нельзя, ведь его сниферы тоже перехватывают?
-
StasikOS
- Сообщения: 82
- ОС: Ubuntu Lucid Lynx
Re: Отправка пакетов
Потому что TCP подразумевает установку соединения и создание сокета. В случае широковещания совершенно не ясно, как устанавливать соединение и с кем ).
Учите уже стек TCP/IP, это глупый вопрос.
Учите уже стек TCP/IP, это глупый вопрос.
-
vr13
- Сообщения: 885
- ОС: gentoo
Re: Отправка пакетов
tcp нельзя по определению этого протокола - логическое соединение, гарантирующее дуплексный обмен данными без потерь между двумя портами в сети. суть этой передачи-без-потерь состоит в том, что каждый порт "выбирает" себе начальное значение некоторого числа (называется sequence), и эта пара чисел известна обоим портам в течение всей сессии. подробнее в http://tools.ietf.org/html/rfc793, более популярно в http://en.wikipedia.org/wiki/Transmission_Control_Protocol
для вашего же случае multicast лучше broadcast хотя бы тем, что первый может маршрутизироваться, а второй - нет
сниферные программы тут вообще не причем, они "что видят, о том и поют", а что им можно "видеть", определяется коммутаторами, маршрутизаторами и фильтрами
-
nesk
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Отправка пакетов
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED