LINUX.ORG.RU

Программирование сокетов в Linux


0

0

У меня 3 вопроса: 1.Как послать пакеты всем компам находящимся в лок. сети?

2.Как узнать IP адреса компов которые подключены к сети?

3.Как прослушивать все порты одного компа сразу?

В первом вопросе интересует что такое широковешательный адрес...

anonymous

Re: Программирование сокетов в Linux

и что это трудно найти в интернете документацию по TCP/IP?

anonymous ()

Re: Программирование сокетов в Linux

1. Послать пакет по broadcast адресу (широковещательный). Подробнее в RFC919 (см. так же SO_BROADCAST у setsockopt) 2. К какой сети? Находятся в одном физическом сегменте и источником? Можно по маске перебрать все компы и пингануть каждый, но вариант не стопроцентный (firewall/etc) 3. AFAIK никак

phoenix ★★★★ ()
Ответ на: Re: Программирование сокетов в Linux от phoenix

Re: Программирование сокетов в Linux

>AFAIK никак

а чем не вариант попытаться открыть с 1 по ... ;)

Автору поста: если у тебя появляется желание такое сделать, то ты делаешь что-то не так или очень плохое

Pi ★★★★★ ()

Re: Программирование сокетов в Linux

3. через bpf/libpcap

lb ()
Ответ на: Re: Программирование сокетов в Linux от lb

Re: Программирование сокетов в Linux

>libpcap

а помоему он просто нахалом сниффит всё приходящее/уходящее на eth0 и понятие порта в данном случае вообще не сущ-ет. хотя для поставленной задачи наверное сойдёт

Pi ★★★★★ ()
Ответ на: Re: Программирование сокетов в Linux от Pi

Re: Программирование сокетов в Linux

> а чем не вариант попытаться открыть с 1 по ... ;)
Мосье знает толк в извращениях ;) Как насчет портов < 1024?

На самом деле можно использовать libpcap, как уже было сказано, и фильтровать руками TCP/UDP если только они интересуют

phoenix ★★★★ ()
Ответ на: Re: Программирование сокетов в Linux от Pi

Re: Программирование сокетов в Linux

>>libpcap

> а помоему он просто нахалом сниффит всё приходящее/уходящее на eth0 и понятие порта в данном случае вообще не сущ-ет. хотя для поставленной задачи наверное сойдёт

как вариант -- рукопашный анализ "чего прилетело", и быстрый старт сервера на нужный порт. для UDP это точно пройдет, для tcp, возможно, придется помучаться.

PS. если стартовать сервер для какого-либо порта по какому-либо условию, для linux можно вообще через iptables + user space queue. тогда нужно подтверждать пакет после старта сервера и всё.

lb ()
Ответ на: Re: Программирование сокетов в Linux от lb

Re: Программирование сокетов в Linux

может надо почитать книгу "Сетевое программирование в linux" (кажется так) некого Шона Уолтона (тоже кажется)? Будет счастье!

anonymous ()

Re: Программирование сокетов в Linux

Есть еще неплохая книга "Stevens R. Unix network programming", видел в djvu

phoenix ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.