Отправка пакетов

Модератор: Модераторы разделов

frp
Сообщения: 1445
ОС: Debian Squeeze

Отправка пакетов

Сообщение frp »

Как отправить в локальной сети ОДИН пакет чтобы его могли получить НЕСКОЛЬКО компютеров?
Спасибо сказали:
Аватара пользователя
brandy
Сообщения: 41
ОС: Gentoo

Re: Отправка пакетов

Сообщение brandy »

frp писал(а):
19.07.2008 13:31
Как отправить в локальной сети ОДИН пакет чтобы его могли получить НЕСКОЛЬКО компютеров?

Используйте broadcast-адреса.
Например, для сетки 192.168.1.0/24, если отправить пакет на адрес 192.168.1.255 и порт, скажем 55555, то его получат все компьютеры в подсети, слушающие этот адрес. Вроде справедливо только для UDP.
Спасибо сказали:
Аватара пользователя
StasikOS
Сообщения: 82
ОС: Ubuntu Lucid Lynx

Re: Отправка пакетов

Сообщение StasikOS »

Можно использовать только протокол UDP или ICMP и broadcast-адрес. Вместо 192.168.1.255 можно использовать 255.255.255.255. Пакет получат все компьютеры, которые находятся в той же сети. Есть еще вариант multicast, который позволит послать его выборочно нескольким хостам, но это более сложный механизм.
Спасибо сказали:
Аватара пользователя
brandy
Сообщения: 41
ОС: Gentoo

Re: Отправка пакетов

Сообщение brandy »

Прорезюмирую сказанное - если надо несколько тсп-сессий - не получится, только upd+icmp, и то для icmp-броадкаста сами пакеты надо специфически формировать.
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Отправка пакетов

Сообщение frp »

А можно так, чтобы получали пакет не все копютеры в сети, а только некоторые?
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Отправка пакетов

Сообщение nesk »

frp писал(а):
19.07.2008 17:40
А можно так, чтобы получали пакет не все копютеры в сети, а только некоторые?

http://ru.wikipedia.org/wiki/Multicast
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
Аватара пользователя
brandy
Сообщения: 41
ОС: Gentoo

Re: Отправка пакетов

Сообщение brandy »

Получат все сетевые карты эти пакеты. Погуглите на тему "broadcast".
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Отправка пакетов

Сообщение frp »

Погуглил. На broadcast то же самое что и здесь, только в виде исходников. На multicast гугл ничего понятного не нашел. Буду использовать broadcast.
А почему для TCP нельзя, ведь его сниферы тоже перехватывают?
Спасибо сказали:
Аватара пользователя
StasikOS
Сообщения: 82
ОС: Ubuntu Lucid Lynx

Re: Отправка пакетов

Сообщение StasikOS »

Потому что TCP подразумевает установку соединения и создание сокета. В случае широковещания совершенно не ясно, как устанавливать соединение и с кем ).

Учите уже стек TCP/IP, это глупый вопрос.
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 885
ОС: gentoo

Re: Отправка пакетов

Сообщение vr13 »

frp писал(а):
20.07.2008 07:54
А почему для TCP нельзя, ведь его сниферы тоже перехватывают?


tcp нельзя по определению этого протокола - логическое соединение, гарантирующее дуплексный обмен данными без потерь между двумя портами в сети. суть этой передачи-без-потерь состоит в том, что каждый порт "выбирает" себе начальное значение некоторого числа (называется sequence), и эта пара чисел известна обоим портам в течение всей сессии. подробнее в http://tools.ietf.org/html/rfc793, более популярно в http://en.wikipedia.org/wiki/Transmission_Control_Protocol

для вашего же случае multicast лучше broadcast хотя бы тем, что первый может маршрутизироваться, а второй - нет

сниферные программы тут вообще не причем, они "что видят, о том и поют", а что им можно "видеть", определяется коммутаторами, маршрутизаторами и фильтрами
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Отправка пакетов

Сообщение frp »

Спасибо за ответы.
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Отправка пакетов

Сообщение nesk »

frp писал(а):
20.07.2008 07:54
Погуглил. На broadcast то же самое что и здесь, только в виде исходников. На multicast гугл ничего понятного не нашел.


Если Вам нужны исходники, можно поискать прямо по исходникам, гугл это умеет. Вот так например.
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали: