Задать вопрос
Ответы пользователя по тегу Компьютерные сети
  • Как сделать трансляцию экрана через сокеты в C#?

    @rPman
    ты хандлер сокета клиента закрыл сразу после отправки
    убери handler.Close();

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

    Еще момент, ты должен как то сообщить клиенту, сколько данных будешь передавать, например сначала шлешь размер буфера с изображением, а затем сам буфер. Само собой клиент точно так же должен это ожидать
    Ответ написан
    Комментировать
  • Может ли хозяин Wi-Fi точки видеть приложения, которые я использую?

    @rPman
    Роутер полностью отслеживает ip адреса машин, исходные и целевые порты, по которым зачастую можно понять, что за приложение подключилось, т.е. почти все сетевые приложения будут обнаружены роутером.

    wifi роутер это машина, подключенная в локальную сеть пользователя. Типовые фаерволы на машинах пользователей, защищающие от входящих подключений, обычно менее строго настраиваются для соединений в локальной сети, а пользователи надеются на защиту роутера и ослабляют защиту, например выключают пароль локальной сети smb.

    Бывает что разработчики зачем то оставляют открытым входящие порты у различных служб, не обязательно http протокол, бывает используются named pipes/unix socket (изначально работающие только в локальной сети а значит разработчики слабо задумываются о защите), в этом случае злонамеренный владелец роутера может навредить через них.

    p.s. лучший способ защититься - поставить между чужим роутером и своей локальной сетью - свой роутер/фаервол
    Ответ написан
    2 комментария
  • Может ли совпадать количество ip адресов в подсети с количеством узлов сети?

    @rPman
    нет
    * Можно не настраивать ip адрес устройству, так как в сети могут быть не tcp/ip протоколы, даже если забыть устаревшие протоколы, отличный пример - сервер виртуалок может не иметь своего ip адреса, но через сетевой мост соединять с сетью сами виртуалки (т.е. работать как сетевой свитч)
    * Можно настроить несколько ip адресов на устройство
    Ответ написан
  • Как адресуются пакеты адресату с серым ip?

    @rPman
    Да что же за отвечающие такие, все кто говорит никак - не правы, может хоть немного думать будете прежде чем в заблуждение народ вводить.

    Серый ip, это значит машина выделенный ip адрес в сети Интернет не имеет, а для выхода в интернет использует одну из доступных технологий, обычно либо NAT либо proxy (http/socks/web)

    При использовании прокси вариантов тупо нет, но вот при использовании NAT, если на роутере, его предоставляющем включена нужная технология либо настроено вручную перенаправление, можно! Называется эта технология UPnP.

    Выглядит это так - сервер, запущенный в локальной сети, отсылает запрос (готовых библиотек полно) роутеру на открытие порта, роутер автоматически настраивает перенаправление, поддерживаются tcp/udp протоколы.

    При правильной настройке роутера, нормальная работа сервисов внутри локальной сети с доступом из Интернета, возможна, даже если ip адрес в догонку к проблеме nat, еще и динамический (технология называется dyndns)

    p.s. есть еще ipv6 (в частности 6to4), в отличии от nat или прокси (или vpn, которая превращает ситуацию в ту же локальную сеть), при наличии поддержки провайдером (точнее не блокировании этой технологии) и роутера, позволяет выделить машинам внутри локальной сети прямые ipv6 адреса, доступные из сети Интернет, но только по этому протоколу.
    Ответ написан
    2 комментария
  • Проблема со скоростью интернета, в чем может быть проблема?

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

    Удостоверься что проблема не в программных ошибках и настройках, исключи свою текущую ОС из уравнения и загрузись с какой-нибудь liveusb/livecd версии (рекомендую linux xubuntu/kubuntu), настройки устройства смотри и меняй с помощью ethtool
    # ethtool enp4s0
    Settings for enp4s0:
    Supported ports: [ TP MII ]
    Supported link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    2500baseT/Full
    Supported pause frame use: Symmetric Receive-only
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    2500baseT/Full
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Link partner advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    Link partner advertised pause frame use: Symmetric
    Link partner advertised auto-negotiation: Yes
    Link partner advertised FEC modes: Not reported
    Speed: 1000Mb/s
    Duplex: Full
    Auto-negotiation: on
    master-slave cfg: preferred slave
    master-slave status: slave
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: external
    MDI-X: Unknown
    Supports Wake-on: pumbg
    Wake-on: d
    Link detected: yes
    Ответ написан
    Комментировать
  • Снял packet dump. Есть у кого-нибудь идеи, что это может быть за трафик?

    @rPman
    почитай там ответ

    смысл в том что это оптимизация wifi подключения для broadcast передач, по крайней мере очень похоже
    Ответ написан
  • Как использовать свой компьютер как прокси сервер в локальной сети?

    @rPman
    Самое простое это socks proxy, подходит для браузер и многих программ

    Реализуется любым ssh сервером на машине с интернетом, подключается к этому ssh серверу в локальной сети с ключом -D1080 где 1080 любой порт, и получаешь локально, где запущен клиент, socks proxy сервер, который можно прописать в браузере

    Этот способ максимально простой и не требует ничего особого.

    Для настройки nat, как универсальный способ раздачи интернета в локальной сети, windows не подходит
    Ответ написан
    2 комментария
  • Как сделать свой собственный интернет для дома?

    @rPman
    Интернет не появляется из ниоткуда, он не растет на деревьях.
    Интернет - это буквально физическое подключение канала передачи данных в обе стороны.

    Если у тебя нет физического кабеля (например линия электропередач), радио или оптического канала до того места, где интернет есть, то сделать собственный Интернет не получится.

    Сейчас в мире существует универсально (почти в любой точке мира) только спутниковый интернет, при этом требуется исходящий канал (входящий может быть вполне быстрым благодаря спутниковой тарелке), и уже он будет дорогим и медленным. Топать к ОпСоСам, они все сделают, настроят и проконсультируют с ценами как я понимаю от 15т.р. в месяц.
    upd. хм, смотрю цены совсем низкие стали

    До прихода спутникового Интернета от Илона Маска, пинги будут почти секундными!

    p.s. Tсли тебе нужен интернет с маленькой буквы (без подключению к глобальному), то для этого достаточно две машины (или одна физическая и несколько виртуальных), чтобы соблюсти формальности, а по факту tcp/ip (на основе которого работает интернет) будет работать на loop back виртуальном устройстве в пределах одной машины (например localhost 127.0.0.1).
    Ты можешь настроить локальный веб сервер, локальный dns (в т.ч. /etc/hosts) и наслаждаться любыми именами веб сайтов в браузере.

    Будут некоторые проблемы с https но решаемые.
    Ответ написан
    2 комментария
  • Как поставить кастомную скорость Ethernet?

    @rPman
    что такое
    настройки сетевого порта 1950 на 50


    выше головы не прыгнешь, если сетевая карта 1гбит, значит это максимум что она может

    Ты можешь в лучшем случае настроить mtu в настройках ОС и уменьшить накладные расходы процессора на обработку пакетов за счет уменьшения скорости при передачи 'мелких файлов' (т.е. список файлов будет медленее передаваться но большие файлы ближе к теоритическому максимуму)

    Кстати сетевые карты, способные работать буквально на 1гбит, обычно это не встроенные и дешевые (те могут давать скорость по iperf меньше, например 800мбит) плюс не забываем что скорость зависит от обоих сторон

    Ты можешь сделать более стабильную скорость, отключив full duplex (запретив одновременную передачу и прием, они станут последовательными), но все равно гигабит - твой потолок

    p.s. существует возможность объединения нескольких сетевых каналов в транк (это по разному называется, в linux - это bonding), один из режимов там как раз суммирование скорости, т.е. 2 сетевые карты дадут 2гбита (каждая сетевая карта свой кабель)

    само собой такая же пара должна быть с другой стороны, не дешевые управляемые роутеры/свитчи умеют принимать транк на разные свои порты
    Ответ написан
    Комментировать
  • Почему происходит односторонняя потеря пакетов между двумя пк?

    @rPman
    оба делаете mtr (winmtr) чего-нибудь не далекого, пусть и сайт dom.ru

    эта утилита делает пинг сразу ко всем промежуточным серверам (включая роутер) ногда сразу видно начиная с какого места начинаются проблемы.

    в cmd пинг чего делаете? внешних ip адресов друг друга?
    если бы не
    проблем нет если сервер делает любой из нас
    то я бы однозначно указал на твой роутер, но так хз

    все же можно провести эксперимент и подключить компьютер напрямую к линии провайдера минуя роутер (ip адрес можно выдать вручную, подсмотрев в админке роутера)
    Ответ написан
    2 комментария
  • Как реализовать подключение монитора удаленно?

    @rPman
    hdmi (dvi-i) передать можно будет и на 50 метров (если есть лишние 20 тысяч рублей)

    но вот с usb чуть сложнее, у китайцев есть тьма решений, вплоть до удлинителя usb -> ethernet -> usb за 100р + свой блок питания , надежность хз, но разум подсказывает что для мышки и клавиатуры этих решений хватит (а вот флешки или вебкамеры уже скорее всего проблема)

    для 10-20 метров хватит обычных usb кабелей и usb-хаба

    p.s. настоятельно рекомендую не связываться с перекодированием видео (всякие over ethernet, wifi и т.п.), будет лаг, будет понижение качества (на квадратики разваливаться будет)
    Ответ написан
    Комментировать
  • Как поднять интерфейс в linux чтобы он был SOCKS5 proxy?

    @rPman
    curl -x socks5://socks_ip:socks_port http://your_server_address/your_big_file -o /dev/null

    выведет на экран (можнов файл ключ -O ) подробно информацию о размере скорости и т.п.

    your_server_address/your_big_file - ссылка на файл на веб сервере, до которого меряешь скорость
    Ответ написан
    2 комментария
  • Как возвращать систему в эталонное состояние образа Windows?

    @rPman
    Попробуй теневые копии

    в win10 это теперь доступно только из интерфейса (свойства 'мой компьютер' - системная защита - включить, создать тут же кнопка восстановить)

    Инструмент теневых копий работает с любым ntfs диском, но системный диск теперь так просто не восстановишь (он как то хитро выборочно файлы восстанавливает, пытаясь не удалить пользовательские данные), но можно это делать из соседней ОС, там восстановление должно работать как ожидается
    Ответ написан
    2 комментария
  • Как в Windows, подключится сразу двумя пользователями к одному сетевому диску?

    @rPman
    никак (и не думаю что вариант с доменом, предлагаемый в комментариях к вопросу поможет)
    это ограничение протокола (на сколько я понимаю это возможно только на терминальном сервере)

    Но могу предложить решение, оно будет работать только если только одна физическая машина одновременно будет подключена к файлам на сервере (роутере):
    Вместо того чтобы размещать файлы на роутере, размещай его в контейнере 'Виртуальный диск' (файл .vhd, создается в Управление дисками), подключай его, форматируй его ntfs и настраивай права доступа так как если бы этот диск был локальным (т.е. права доступа будут работать для нескольких пользователей как ожидается)

    Сам файл .vhd размещай на диске роутера, делай его доступным по сети как обычный файл но права доступа на него дай только администратору компьютера, именно зайдя под ним нужно будет подключать диск (автоматически при включении это можно делать, создав задачу в Диспетчере задач, с помощью команды diskpart)

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

    @rPman
    Правильно - настроить vlan на роутере, выделив для компьютера отдельную локальную сеть. не все роутеры это поддерживают. В этом случае сменой конфигурации или переустановкой ОС на компьютере выйти из 'сетевой песочницы' не получится.

    Еще вариант, настроить фаервол на машине, закрыв доступ ко всем машинам локальной сети кроме роутера... в зависимости от операционной системы способы настройки отличаются. По уму для данной задачи штатного фаервола как win так и linux будет достаточно
    Ответ написан
    Комментировать
  • Локальная сеть через телефон для windows?

    @rPman
    По умолчанию android не позволяет поднимать сетевой мост между сетями (мобильная/wifi/usb-network/...) сделано это похоже специально чтобы все за...лись и шли на любой чих покупать свое железо или отдельные тарифные планы

    При наличии root и установленного инструментария можно это реализовать без интерфейса (из командной строки, в основе android - обычный хоть и кастрированный linux), но начиная с установки root и кончая поиска и установки нужного тулчейна (brctl) и еще хуже - настройки его, можно 'поседеть'

    проще купить usb wifi (цена вопроса 500р)
    Ответ написан
  • Как указать какой IP-адрес использовать в веб-сокете на python?

    @rPman
    Пример в вопросе - это клиент, wss://example это адрес сервера, спрашивать адрес сервера у владельца сервера,..

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

    Если в настройках сервера стоит 0.0.0.0 то значит сервер слушает ВСЕ интерфейсы машины (на момент открытия сокета, т.е. запуска программы), включая 127.0.0.1, 127.x.x.x и другие адреса сетевых устройств
    Ответ написан
  • Таргетированный трафик с виртуальной машины через мост?

    @rPman
    Руслан Федосеев, формально виртуальные машины умеют, например
    qemu -netdev socket...
    представляет из себя что то типа встроенного vpn, позволяющего по tcp каналу объединять виртуальные сети машин на разных хост машинах, не пуская их в общую сеть в принципе
    Ответ написан
  • 1 сетевой кабель на 2 ПК. Как реализовать?

    @rPman
    про свитч уже сказали

    Еще вариант (неудобный но тоже имеет место быть), вставить в один из компьютеров (который будет включен во время работы второго) вторую сетевую карту (некоторые материнские платы и так имеют 2 ethernet порта), в настройках на этом компьютере объединить оба сетевых интерфейса в 'сетевой мост'.

    В этом случае второй компьютер подключается напрямую через первый (через эту вторую карту), никаких других настроек не нужно, для софта поведение точно такое же как если бы оба компьютера были подключены через свитч.
    Ответ написан
    Комментировать
  • Возможно ли поднять веб-сервер на сером IP?

    @rPman
    ip адрес может быть либо динамическим (т.е. периодически меняться провайдером, разделяя малое их количество между своими клиентами, не находящимися постоянно онлайн) либо статическим - т.е. постоянным.
    В этом случае (обоих, просто динамический больше настроек и меньше надежность) достаточно настроить dns на обновление ip адреса (для динамического придумали dyndns даже в потребительские роутеры запилили поддержку некоторых провайдеров).

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

    Само собой можно воспользоваться услугами vpn (конечно если vpn провайдер предоставляет сеть в первом варианте, так как возможен и второй) или самостоятельно его поднять на vps-ке.

    p.s. если у тебя адрес машины 192.168.xxx.xxx то значит у тебя настроена локальная сеть, а интернет машины в ней получают через роутер (подавляющее большинство конфигов в интернете сейчас такая, даже мобильные сети, только там другая подсеть) значит на этом роутере настроен NAT и в его меню нужно добавить перенаправление порта веб сервера на нужную машину в своей локальной сети.
    Ответ написан
    4 комментария