Ответы пользователя по тегу Компьютерные сети
  • Как определить протокол без привязки к порту?

    Nipheris
    @Nipheris Куратор тега C++
    https://www.wireshark.org/lists/wireshark-dev/2008...

    ....
    For example TCP defines port 80 only for the use of HTTP traffic. But, this convention doesn't prevent anyone from using TCP port 80 for some different protocol, or on the other hand using HTTP on a port number different to 80.

    To solve this problem, Wireshark introduced the so called heuristic dissector mechanism to try to deal with these problems.

    По ссылке в мейлинг-листе вайршарка дают подробный ответ на этот непростой вопрос.
    Ответ написан
    1 комментарий
  • О чем речь в POST запросе на C#?

    Nipheris
    @Nipheris Куратор тега C#
    1) из хранилища сертификатов текущего пользователя вытаскивается сертификат по его серийному номеру;
    2) к запросу прикладывается полученный из хранилища клиентский сертификат;
    3) содержимое poststr пишется в тело POST-запроса;
    4) запрос отправляется и программа ждет ответ от сервера;
    5) ответ перекодируется в строку result и выводится в консоль;

    Как в ноде вытащить сертификат из Виндового хранилища - понятия не имею. С остальным вы и сами разберетесь.
    Ответ написан
  • Зачем google и yandex делают редирект на www?

    Холиварить сюда пожалуйста. Девочки налево, мальчики направо (что такое лево и право решите сами, мне без разницы):

    no-www.org
    www.yes-www.org
    Ответ написан
    1 комментарий
  • Какой ЯП больше подойдет для создания ИНС?

    Любой язык, где есть возможность реализовать связные структуры данных (ваша нейросеть) и проводить вычисления с плавающей точкой (чтобы моделировать прохождение импульсов по связям в нейросети).

    Сейчас под эти критерии подходит любой развитый ЯП общего назначения.

    Скорее всего, другие критерии - требуемая производительность, ваши знания, имеющееся у вас время для реализации идеи, знания ваших коллег по проекту, фреймворк или библиотеки, которые вы собираетесь использовать, аппаратные платформы - значительно сузят круг подходящих ЯП.
    Ответ написан
    Комментировать
  • TCP/IP работает сверху вниз или снизу вверх?

    1) прикладной уровень (HTTP) использует TCP как сервис (а именно - какое-либо API, предоставляемое ОС, например сокеты Беркли) и выражает желание отправить некоторое количество данных в пункт Б; в теории объем данных может быть любым, т.к. задача именно TCP - разбить данные на куски и прилепить к ним свой заголовок. Полученные куски с заголовками называются TCP-сегментами; в этих заголовках есть все, что необходимо для обеспечения всех гарантий, которые даёт TCP, а именно: а) номер пакета для получения пакетов в порядке их отправления и возможности сборки отправленных данных; б) целостность пакетов и отсутствие в них ошибок; в) номера портов получателя и отправителя (чтобы несколько программ на одной машине могли обмениваться данными); г) флажки для обслуживания TCP-соединения. Вся суть TCP сводится к предоставлению вам, т.е. прикладному уровню, некоего надежного виртуального "провода", которым вы как бы подключили одну программу на одной машине к другой программе на другой машине. В терминах типов коммутации, TCP поверх IP - это коммутация каналов поверх коммутации пакетов.
    2) После сборки каждого сегмента TCP использует уровень IP как сервис, и отдает ему сегменты для упаковки в пакеты. Уровень IP нужен для предоставления возможности закинуть (т.е. маршутизировать) любой пакет с текущего узла на любой другой в сети. IP не предоставляет никаких гарантий о порядке прихода пакетов на узел, и даже о том, что они вообще придут (IPv6 также не проверяет целостность пакета), однако с его помощью сетевое оборудование в состоянии выбирать различные (!) пути для доставки пакетов получателю и осуществлять эту доставку. В заголовке IP-пакета, как на письме, указан узел-отправитель и узел-получатель.
    После сборки пакета оный отправляется на канальный уровень для доставки по конкретной физической среде.

    Теперь представим, если бы этих уровней (TCP/IP) не было. Самое простое, работающее по такой схеме, что приходит на ум - передача данных по COM-порту между двумя машинами. В такой схеме вы, вероятно, получали бы данные в порядке их отправления и возможно даже имели бы контроль ошибок, НО:
    а) только одно приложение могло бы передавать/получать данные, т.к. нет виртуальных соединений (нет мультиплексирования);
    б) для передачи данных машины нужно соединять физически. Ну или сажать тётеньку, которая бы перетыкала провода, как на первых телефонных станциях с ручной коммутацией каналов.
    IP избавляет вас от пункта б), TCP - от пункта а) и тех доп. проблем, которые добавляет IP своим присутствием.
    Ответ написан
    Комментировать
  • Возможна ли аутентификация в web приложении по token windows?

    Если вы имеете в виду NTLM аутентификацию, то для каждого браузера будут свои решения. Вот например попробуйте для firefox: superuser.com/questions/664656/how-to-configure-fi...

    А лучше посмотрите federated login, например ADFS (у вас же домен, я правильно понял?).
    Ответ написан
    Комментировать
  • Почему чем меньше маска подсети, тем больше доступных адресов?

    Все довольно просто: маска подсети разбивает весь IP-адрес на два фрагмента: адрес сети (подсети), и адрес машины. Т.е. вот у вас 4 байта адреса:
    XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX

    X - это двоичная цифра, 0 или 1.
    Когда вы ставите маску /14, вы ставите вот такой вот условный разделитель:

    XXXX XXXX XXXX XX | XX XXXX XXXX XXXX XXXX

    Циферки слева от него - адрес подсети, справа - адрес машины. Очевидно, что при фиксированной длине адреса в 4 байта для IPv4, чем больше циферок вы отдадите под "подсеть" (т.е. слева), тем меньше останется под "машину", т.е. справа. Меньше циферок - меньше возможных различных значений, которые ими можно записать.
    Ответ написан
    Комментировать
  • Где взять документацию по NuGet на русском?

    Nipheris
    @Nipheris Куратор тега C#
    Что такое NuGet?

    Менеджер пакетов, изначально ориентированный на .Net, но в данный момент и с некоторой поддержкой нативных библиотек под Винду.

    Дружит ли он с SharpDevelop?

    Он достаточно самостоятелен, SharpDevelop давно не открывал, возможно нужно будет пользоваться командной строкой.

    Где найти информацию по нему?

    На оф. сайте и в нормальных книгах по .Net.

    как добавить в solution/ project библиотеку без использования NuGet?

    Add Reference и выбирайте нужную сборку, все так раньше и делали.

    В английском я не силен.

    Вот займитесь лучше английским. НюГет сегодня есть, а завтра нет, а вот английский просто так с мировой арены не сойдет.
    Ответ написан
    Комментировать
  • OVPN TLS Error: TLS key negotiation failed. - уже после проверки сертификата сервера. Why?!?!?

    Советую проверить, правильно ли сгенерены клиентские сертификаты, одинаковые ли используются ca.cert на обоих концах. Попробовать перегенерить все, если это не слишком сложно.
    Ответ написан
  • Как расшифровать https?

    Можно, либо получаете доступ к инфраструктуре сервиса и ковыряете трафик еще до отправки клиенту, либо ставите на клиента поддельный корневой сертификат, и можете пускать трафик через себя. Посмотрите как делает Fiddler на локальной машине, чтобы перехватывать HTTPS трафик. Если вы сможете установить липовый сертификат, то сможете и перешифровывать на middle-стороне трафик, создавая иллюзию нормального HTTPS соединения.
    Ответ написан
    Комментировать
  • Как создать REST API на C++?

    Nipheris
    @Nipheris Куратор тега C++
    Поддержка HTTP (на базе ASIO), работа с URI и прочие базовые для веба вещи: cpp-netlib.org
    JSON: www.codeproject.com/Articles/20027/JSON-Spirit-A-C... . Есть форки на github.com, много и других библиотек, но лично мне больше эта нравится.

    Первая либа еще не релиз-версии, но API уже стабилизировался, все работает. Более чем годно для малонагруженного сервера (проверено на localhost), можно и для многих посетителей, если поставить за nginx для безопасности.
    P.S. Внезапная альтернатива: FastCGI (https://savannah.nongnu.org/projects/fastcgipp/) + нормальный веб-сервер.
    Ответ написан
  • Как нужно настроить OpenVPN сервер, чтобы тот выдавал белый IP для каждого клиента?

    Соглашусь с тем, что вам нужны дополнительные маршруты.
    > Кажется, что клиенты Windows, Linux и Android попросту игнорируют эти настройки.
    Посмотрите логи запуска клиента, когда соединение устанавливается, все пишется подробнее некуда. Например, сразу понятно, что маршруты не добавятся, если вы запустили клиент OpenVPN на винде без повышения прав. Вполне возможно что аналогичная ситуация и на других платформах. Посмотрите таблицы маршрутов после запуска клиента и установления соединения. Если ожидаемые роуты там будут, то делайте трассировки.
    Ответ написан
    Комментировать
  • Как настроить доступ к внутренним ресурсам через VPN?

    OpenVPN в режиме множественных подключений вполне сгодится. Веб-сервер подойдет любой, вам нужно лишь чтобы он слушал на нужных интерфейсах, а не на всех. Если сервер будет слушать на внутреннем интерфейсе, то и ограничивать особо ничего не надо (кроме стандартных настроек фаерволла). Само собой, OpenVPN демон должен слушать не внешнем интерфейсе.
    Ответ написан
    Комментировать