Выбор сетевого интерфейса

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by EP025, 26 Feb 2017.

  1. EP025

    EP025 New Member

    Joined:
    1 Jan 2016
    Messages:
    25
    Likes Received:
    2
    Reputations:
    0
    Добрый день, друзья)
    В libpcap есть функция pcap_open_live(), где сетевой интерфейс можно указать явно.
    Как создать сырой сокет для прослушивания конкретного сетевого интерфейса без этой библиотеки?
     
  2. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    https://habrahabr.ru/company/smart_soft/blog/184430/ -

    ^ это о linux системах, а теперь о windows. Есть статья Криса Касперски "Самоучитель игры на winsock" в которой он пишет
    именно поэтому ты и и используешь библиотеки типа PCAP которые работают на уровне драйвера сетевого интерфейса.
     
    _________________________
    pas9x likes this.
  3. pas9x

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

    Joined:
    13 Oct 2012
    Messages:
    423
    Likes Received:
    585
    Reputations:
    52
    Тебе тут врядли это кто-то подскажет. Равсокет - слишком специфичная штука которая во всех ОС сделана по разному. Я, например, замечал различия в его реализации между линуксом и фрибсд. Так что ты минимум должен указать какая тебя интересует ОС.
    Примеры кода гуглятся так и так.

    А как создаётся сокет вообще? Функцией socket() собсна. Т.е. работаешь с равсокетом почти так-же как с обычным сокетом. У винды сокетные функции лежат в дллке system32/wsock32.dll , биндинги к ним зависят от твоего языка программирования.
     
    #3 pas9x, 15 Mar 2017
    Last edited: 15 Mar 2017