Поиск компютеров в сети Wi-Fi

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by what?, 5 Dec 2012.

  1. what?

    what? New Member

    Joined:
    25 Feb 2011
    Messages:
    24
    Likes Received:
    1
    Reputations:
    1
    Как происходит поиск компьютеров, которые подключенны к той же Wi-FI сети что и ты. И как к ним подключатся.
     
  2. user100

    user100 Moderator

    Joined:
    24 Dec 2011
    Messages:
    4,804
    Likes Received:
    18,333
    Reputations:
    377
    А Вас реализация поиска на С, С++ или Delphi интересует?
     
    _________________________
  3. what?

    what? New Member

    Joined:
    25 Feb 2011
    Messages:
    24
    Likes Received:
    1
    Reputations:
    1
    Нет, чисто теоретически.
    Но можно и на C,C++ если используются WinAPI.
     
  4. what?

    what? New Member

    Joined:
    25 Feb 2011
    Messages:
    24
    Likes Received:
    1
    Reputations:
    1
    Это что, невозможно?
     
  5. Spot

    Spot Elder - Старейшина

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1
    Два вопроса из совершенно разных областей.
    Данные о подключённых компах, можно в роутере.
    А по поводу "подключения" - мне кажется речь идёт о mitm "man in the middle" атаке? То есть перехват траффика, об этом есть видео у dood ну и ессно стоит прочитать пару статей.
     
  6. what?

    what? New Member

    Joined:
    25 Feb 2011
    Messages:
    24
    Likes Received:
    1
    Reputations:
    1
    А по моему нет. Сейчас постараюсь обьяснить ситуацию. У меня дома Wi-Fi роутер. К нему подключены 2 компьютера. Мой и друга. Мне нужно подключиться к компьютеру друга для передачи TCP/IP пакетов не выходя при этом в сеть Интернет.

    Пример:
    [​IMG]
     
  7. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    what? ну так и в чем проблема то? Трудно подключиться к Wi-Fi с обоих машин и установить IP и маску подсети(|| DHCP)?
     
  8. what?

    what? New Member

    Joined:
    25 Feb 2011
    Messages:
    24
    Likes Received:
    1
    Reputations:
    1
    Признаюсь, для меня это трудно. Не могли бы вы обьяснить поподробней что надо делать.

    Заранее скажу что программа будет выполняться на Windows 7 с ограниченымми правами. И доступа к роутеру нету.
     
  9. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    what? роутер с Wi-Fi в своем предназначении и конечных принципах работы ничем не отличается от проводного. ЧТО тут можно объяснять? Как подключиться к компьютеру по локальной сети, которую и образует роутер?
     
  10. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    what? Чего?
    Это означает что оба компа подключены как минимум в локальную сеть и доступ друг к другу у них есть. Тебе надо только знать IP адрес машины в сети.

    Вопрос как узнать адреса машин в твоей сети если хочешь WinAPI читай тут http://msdn.microsoft.com/en-us/library/windows/desktop/aa366073(v=vs.85).aspx (IP Helper)
     
    _________________________
  11. Jingo Bo

    Jingo Bo Member

    Joined:
    25 Oct 2009
    Messages:
    368
    Likes Received:
    51
    Reputations:
    7
    Ну да, тут верно сказали по поводу маршрутизатора, если оба компа к нему подключены - значит уже в локальной сети, не суть важно есть ли выход в интернет.

    В локальной сети самый простой способ поиск своих серверов - отправление broadcast UDP пакетов и ожидание, что кто то ответит. Но тут есть одна тонкость - через WiFi UDP очень плохо передается, и уже там более для broadcast пакетов практически на каждом маршрутизаторе нужно включать всяческие режимы(igmp и т.д.), тем более маршрутизатор может вообще этого не поддерживать.

    Я честно говоря и не знаю как тут быть с поиском серверов, что бы способ был более менее универсален. Есть вариант, но он прокатит если есть доступ в интернет.
     
  12. PRosTo_LEva

    PRosTo_LEva Elder - Старейшина

    Joined:
    18 Apr 2007
    Messages:
    445
    Likes Received:
    130
    Reputations:
    106
    Реализация данной локальной сети настолько простая что нет смысла изобретать велосипед.
    Как уже было правильно сказано в теме - при условии что компьютеры уже подключены к роутеру они уже образуют локальную сеть независимо от того есть на роутере интернет или нет. Закономерно что на этом самом роутере работает DHCP. При наличии всего двух устройств узнать адрес второй машины будет элементарно. Смотрим свой IP получаемый от роутера и делаем следующий вывод:

    Если ваш IP 192.168.1.101 а адрес интернет шлюза 192.168.1.1 - это стандартный пример настройки большинства роутеров. Можно с уверенностью сказать что диапазон выдаваемых DHCP сервером адресов начинается с 192.168.1.100.
    На основании этого делаем вывод 192.168.1.1 - IP роутера. 192.168.1.100 - адрес второй машины в сети, 192.168.1.101 адрес вашего компьютера, а если в сеть подключится 3 компьютер он получит адрес 192.168.1.102
    Аналогичным образом можно рассмотреть любую другую комбинацию IP и шлюза.
    Например: адрес шлюза 192.168.1.100 ваш IP 192.168.1.2 скорее всего IP второй машины 192.168.1.1

    Проверить наличие машины в сети можно по средствам команды ping. После того как вы разобрались где ваш IP а где IP второго компьютера ничего не мешает попробовать получить доступ к нему например для просмотра расшаренных папок. Для этого открываем проводник и пишем туда \\192.168.1.1 (указываем IP второго компьютера) и при правильной настройке ОС и фаервала мы увидим открытые папки.


    З. Ы. Прошу модераторов раздела перенести тему в http://forum.antichat.ru/forum125.html
     
    #12 PRosTo_LEva, 8 Dec 2012
    Last edited: 8 Dec 2012
  13. what?

    what? New Member

    Joined:
    25 Feb 2011
    Messages:
    24
    Likes Received:
    1
    Reputations:
    1
    Спасибо всем за ответы.
    Хочу кое что уточнить. Как я уже говорил доступа к настройкам роутера нету. Доступ в Интернет есть, но через прокси сервер. Надеюсь это не повлияет на соединение копьютеров. И еще если в Windows 7 зайдти в Панель упроавлния- Сеть- Карта сети, то говорит что невозможно создать карту. Не из- за прокси сервера ли это. И еще если на одном компьютере создать сервер CS 1.6 то на другом его не видно, но если создать сервер TrackMania (игра такая) то на другом все ноамально отображантся и даже можно подключится
     
  14. totenkopf

    totenkopf Elder - Старейшина

    Joined:
    19 Jul 2010
    Messages:
    92
    Likes Received:
    64
    Reputations:
    19
    Для того чтобы найти компы в своей подсети можно посылать ARP пакеты функцией SendArp.

    Типа "А у кого тут IP 192.168.1.7?"

    Если откликнется то комп вернет свой MAC. (Можно установить производителя железа).

    Если сделать многопоток будет быстро.