• Как сделать: Переадрессацию первого http/https запроса на определенный сайт?

    @throughtheether
    human after all
    Полагаю, вам поможет Captive portal, соответственно доработанный (возможны нюансы с https).
    Ответ написан
    Комментировать
  • Как обойти NAT?

    @throughtheether
    human after all
    Я про то, что есть мануальная форма маршрутизации. Иными словами если у вас есть какой-то сервер который находится за вашим натом и вы считаете, что к нему никак не пробиться извне потому что вы не настроили проброс портов. Вы ошибаетесь я пробьюсь к нему. Поскольку у вас есть внешний NAT...
    ... маршрутизация по меткам позволяет добросить пакет до вашего сервера.
    Одна история удивительнее другой, особенно про мануальную маршрутизацию и маршрутизацию по меткам (что это?).

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

    Как, подключиться к порту 4321 компьютера 192.168.1.10
    Это возможно в следующем случае. Клиент 192.168.1.10 устанавливает соединение с веб-сервером 2.2.2.2, используя порт 4321 со своей стороны (так получилось, совпадение). На натирующем устройстве с глобально маршрутизируемым адресом 1.1.1.1 создается трансляция вида (192.168.1.10,tcp,4321)->(1.1.1.1, tcp, 31337). Веб-сервер видит клиента с адресом 1.1.1.1, портом источника 31337, шлет ему данные (сегменты внутри пакетов), которые после натирования фактически направляются клиенту 192.168.1.10, tcp-порт 4321. Далее, если есть злоумышленник 3.3.3.3, которому очень надо послать tcp-сегмент (внутри Ip-пакета) клиенту 192.168.1.10 на порт 4321, то он указывает статический маршрут (см. Я про то, что есть мануальная форма маршрутизации) до 192.168.1.10/32 (длина префикса не важна, по моему мнению) через 1.1.1.1, и ему лишь остается угадать/подобрать, на какой tcp-порт слать сегмент, чтобы он правильно снатировался. Если 3.3.3.3 и 2.2.2.2 взаимодействуют (обмениваются информацией), он пошлет на 31337 порт. Если нет - то логичнее слать равномерно на все порты и надеяться на удачу.

    Как вы, наверное, догадались, рассчитывать на то, что вы сможете запросто послать сегмент на любой порт любого хоста за NAT немного наивно. С другой стороны, полагать, что за NAT вы как за каменной стеной, также наивно.

    Кроме того, немного неясны вводные. Если на порту 4321 висит уязвимый сервис и вы хотите эксплуатировать эту уязвимость, то вышеописанную схему вряд ли получится реализовать, если только этот сервис не будет слать данные (байты внутри сегментов внутри пакетов) в интернет. Потому что если он не будет этого делать, то и трансляции на NAT не возникнет. Если только у NAT нет багов или у вас нет агента за этим же NAT, который, подделывая адреса, добьется создания трансляции (UPnP как вариант). Как видите, вариаций множество.

    TL;DR: Nat is not a security feature.
    Ответ написан
    Комментировать
  • Как программно изменить настройки роутера Wi-Fi?

    @throughtheether
    human after all
    Как пример сойдёт Wi-Fi сеть московского метрополитена
    сойдёт
    Смело.

    Есть вопрос - как автоматизировать процесс администрирования сетью роутеров и написать что-то вроде биллинговой системы? Необходимо изменять список заблокированных IP, ограничивать скорость на порты и т.д. НА ВСЮ сеть
    Во-первых, рекомендую определиться с архитектурой сети, затем понять, какие именно параметры, как и на каких именно устройствах необходимо менять. Во-вторых, настраивать устройства можно через удаленную консоль (telnet/ssh, второе предпочтительнее с точки зрения безопасности), через SNMP (пользователь/community с write-доступом) и вероятно через API (Junos XML API, NETCONF), если производитель его предоставляет (см. документацию на устройства).

    и написать что-то вроде биллинговой системы?
    Если планируется легализация (получение лицензий на ведение деятельности и прочая), то биллинг должен быть сертифицирован, поэтому логичнее будет изучить существующие варианты (существуют бесплатные сертифицированные биллинги, насколько мне известно). Если все-таки хотите писать самостоятельно, то собирайте netflow-/sflow- данные и анализируйте их (например, при помощи скрипта-обертки над flow-tools в качестве первого приближения). Если под "биллингом" вы подразумеваете страничку с реквизитами оплаты и кнопкой "купить немного интернета", то смотрите в сторону captive portal.

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

    Верно ли понимаю, что подход не меняется, если я хочу построить беспроводную сеть высокой нагруженности (от 1000 пользователей) на оборудовании ubiquiti?
    В случае использования оборудования от одного вендора имеет смысл обратить внимание на наличие у этого вендора подобных комплексных решений, в том числе решений для централизованного управления.

    У меня небольшой опыт в этом, есть много вопросов - возможно вам будет удобно рассказать все подходы и подсказать литературу для чтения по почте?
    К сожалению, я ни разу не создавал беспроводную сеть такого масштаба, поэтому не считаю себя вправе давать советы (ведь отвечать за потенциальную неудачу все равно вам). Скажу лишь, что на вашем месте я бы попытался:
    1) обратиться к интеграторам (как вам уже пояснили), даже если вас не устроят их условия, в процессе диалога вы полнее поймете желаемые характеристики сети
    2) самостоятельно прошить имеющиеся устройства OpenWRT (в целях единообразия) и реализовать желаемое в меньшем масштабе (но с всесторонним мониторингом, captive portal и прочая). Это также поможет выяснить, где у вас пробелы в понимании.
    Ответ написан
    1 комментарий
  • Packet Loss у серверов между NL и USA. Как решить проблему?

    @throughtheether
    human after all
    Дата-центр(Leaseweb) где располагается наш сервер утверждает что у них нету ни каких проблем с сетью, в тоже время наш американский партнер тоже говорит о том, что у него нету ни каких проблем.
    Странно ожидать чего-либо другого.
    Буду очень признателен, если подскажите мне инструменты для анализа соединения и выявления проблем.
    Одним из факторов, ускоряющих обнаружение проблем и установление их причин, является детальный мониторинг. В данном случае - мониторинг RTT между хостами, Path MTU, загрузки интерфейсов, ошибок на интерфейсах, мониторинг самого приложения и прочая. Если бы мониторинг был активен, вы могли бы посмотреть, какие события коррелировали с возникновением задержек.

    Если мониторинга нет, то предлагаю вам: 1) разобраться, как именно приложение получает данные (используется ли TCP или UDP, во втором случае, есть ли своя реализация подтверждений и т.д.) 2) снять дамп трафика при помощи wireshark/tshark/tcpdump и проверить, что именно происходит в реальности (в случае с TCP - наличие TCP retransmits, размер окна и т.д.). Естественно, это все имеет смысл, если вы полагаете, что задержка вызвана именно поведением сети.

    Вы не подскажите, можно ли иметь между двумя серверами несколько маршрутов, чтобы на тот случай если под одному маршруту будут проблемы, была возможность использовать другой маршрут?
    На самом деле между вашими серверами (точнее, автономными системами хостинг-провайдеров) практически наверняка имеется множество маршрутов, проблема лишь в том, что вы не можете влиять на их выбор. Если необходимо выбирать маршрут самостоятельно, то можно сделать следующее - зарегистрировать две автономные системы (в смысле BGP),к примеру, AS1 с префиксом 1.1.1.1/24 и AS2 с префиксом 2.2.2.2/24. Каждую автономную систему подключить через несколько аплинков (установив с ними BGP-соседство). Наблюдать за производительностью (см. мониторинг) и в случае неудовлетворительной работы сети переключать маршруты при помощи программного BGP-решения вроде Bird/ExaBGP. Как вы, наверное, уже догадались, это потребует некоторых финансовых затрат, как капитальных, так и оперативных (продление регистрации автономных систем, ежемесячная оплата трафика/аплинков).

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

    @throughtheether
    human after all
    Связь между отделами должна осуществляться или с помощью шлюза, или мостов.
    Это промышленная сеть или предмет курсовой работы? Меня использование термина "мост" немного удивило.

    Составленная схема правильная?
    Если цель схемы - отобразить физическую топологию, то примерно да.

    и какое оборудование использовать?
    С такими размытыми требованиями (и без указания бюджета) - практически любое. Коммутатор, поддерживающий 802.1q вланы, маршрутизатор, поддерживающий 802.1q, NAT и способный подключиться к вашему провайдеру.

    И посоветуйте, пожалуйста, гайды по проектированию таких сетей.
    В данном случае "проектирование" - слишком громкое слово. Если это курсовая, то должен быть и учебник. Если промышленная сеть - то тут реально два активных сетевых устройства; к тому же я считаю, что без опыта эксплуатации глубоко лезть в "дизайн" непродуктивно. Если все-таки неймется, то в книгах курса CCDA, насколько мне известно, среди маркетинговой хохломы есть и полезные сведения.
    Ответ написан
    2 комментария
  • Что неправильно в алгоритме пятнашек ?

    @throughtheether
    human after all
    distance += abs((i - m[i][j] / 4)) + abs((i - m[i][j] % 4))
    Если вы вычисляете "манхэттенское" расстояние между текущим и идеальным положениями плитки, то почему под знаками модуля в каждом случае используется один лишь индекс i? Я полагаю, корректнее будет исправить:
    distance += abs((i - m[i][j] / 4)) + abs((j - m[i][j] % 4))


    UPD.
    алгоритм ставит пустую фишку всегда в позицию [0, 0] а если поставить ее в другое место он "висит"
    Предполагаю, это из-за вашего подсчета расстояния. Вы нулевое значение (т.е. положение пустой кдетки) игнорируете по какой-то причине.
    Если исправить текст так, то указанный вами пример ([[1, 2, 3, 4], [5, 6, 7, 8], [9, 0, 11, 12], [13, 10, 14, 15]]) нормально обсчитывается

    исправления

    def puzz_astar(start, end):
    """
    A* algorithm
    """
    front = [[heuristic_2(start), start]]
    print(front)
    expanded = []

    expanded_nodes = 0

    while front:
    i = 0
    for j in range(1, len(front)):
    if front[i][0] > front[j][0]:
    i = j
    path = front[i]
    front = front[:i] + front[i + 1:]
    endnode = path[-1]
    if endnode == end:
    break
    if endnode in expanded: continue
    for k in moves(endnode):
    if k in expanded: continue
    newpath = [path[0] + abs(heuristic_2(k) - heuristic_2(endnode))] + path[1:] + [k]
    front.append(newpath)
    expanded.append(endnode)
    expanded_nodes += 1

    print "Expanded nodes:", expanded_nodes
    print "Solution:"
    pp.pprint(path)

    def heuristic_2(puzz):
    """
    Manhattan distance
    """
    distance = 0
    m = eval(puzz)
    for i in range(4):
    for j in range(4):
    if m[i][j] == 0: distance+=3-i+3-j
    distance += abs((i - m[i][j] / 4)) + abs((j - m[i][j] % 4))
    return distance



    Пара комментариев - во-первых, это ad-hoc решение (для случая, когда в конечном положении пустая клетка расположена в конце). Во-вторых, по-хорошему, расстояние надо измерять от одной ноды до другой (то есть, передавать в функцию heuristic_2 текущую ноду и конечную и суммировать, какая плитка на сколько позиций сдвинута). В-третьих,
    m = eval(puzz)
    это очень плохо. Может быть, это сгодится для "олимпиадок", но не рекомендую вам привыкать так делать.
    Ответ написан
    3 комментария
  • Возможна ли DoS/DDoS атака на устойство слушающее SPAN-порт?

    @throughtheether
    human after all
    Возможна ли DoS/DDoS атака на устойство слушающее SPAN-порт?
    Атака возможна на что угодно. Другой вопрос, насколько эффективна она будет.

    Возможно ли вообще в принципе завалить SPAN порт трафиком так чтобы устройство перестало с ним справляться?
    Без уточнения, о каком устройстве идет речь, ответ дать трудно. В общем, если вы подключились в гигабитный порт, и устройство обработает 1.5 миллиона фреймов в секунду, то есть надежда на устойчивую его работу.

    На сколько я понимаю технологию зеркалирования вопрос перегрузки SPAN-порта трафиком (и как следствие любого устройства подключенного к нему) вообще не имеет смысла
    SPAN-порт (в роли destination) не сможет пропустить трафика больше, чем физически возможно (этот предел задан скоростью среды и размерами буферов). Пример - вы копируете трафик с 3 портов (каждый загружен на 400 Мбит/с в среднем) в один гигабитный (1000 Мбит/с) порт. Примерно одну шестую трафика (3*400 Мбит/с - 1000 Мбит/с =200 Мбит/с) вы будете терять.

    т.к. зеркалить можно только заранее аппаратно-определенный поток или вообще только один какой-то порт.
    Как правило, копировать трафик можно с порта (иногда с фильтрацией по вланам), группы портов, из влана - в другой порт.

    Тогда в чем смысл вообще, если мы что-то важное можем пропустить?
    Часто, например, через SPAN мониторят трафик, приходящий на процессор. Увеличение объема такого трафика, как правило, ничего радостного не сулит.

    Как мы тогда можем весь трафик видеть который идет через свич?
    Если бы я сейчас реализовывал подобный проект (т.е. необходимо видеть "весь" трафик), я бы обратил внимание на продукцию Gigamon (если много денег) или бы поэкспериментировал с пассивными оптическими разветвителями (логично их устанавливать на линки с интересующим нас трафиком).

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

    @throughtheether
    human after all
    Самый дубовый способ - passive ethernet tap, но это не подходит для случая 1000BASE-T (т.н. "гигабитный ethernet"). С другой стороны, практически любое устройство, работающее с гигабитным Ethernet, должно поддерживать и стамегабитный. Вот пример устройства. Плюсы - некая развязка, производительность сети не зависит от того, успеваете вы или нет обработать трафик. Кроме того, независимость от питания.

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

    @throughtheether
    human after all
    Scrapy глохнет при скармливании ему неправильного URL.
    А вы пробовали к ресурсу, адресуемому этим URL, обратиться браузером? У меня открывается статья, с библиографическим номером 2002JIMO...30..199R. Более того, при помощи requests я получаю HTTP 200 в ответ на HEAD:
    >>> import requests
    >>> response = requests.head('http://adsabs.harvard.edu/full/2002JIMO...30..199R')
    >>> response
    <Response [200]>

    Есть мнение, что вы не до конца понимаете проблему, которую хотите решить. Предлагаю разобраться, почему
    Scrapy глохнет при скармливании ему неправильного URL
    (и так ли это вообще, может быть, эти явления не связаны). Может быть, сайт временно не работоспособен? Может быть, сервер вас (или ваш прокси) блокирует? Может быть, это ошибка Scrapy?
    Зафиксируйте URL и проверьте, всегда ли (при каких условиях) Scrapy его [не]корректно обрабатывает.
    Ответ написан
    2 комментария
  • Как быстро выполнить топологическую сортировку дерева из списка?

    @throughtheether
    human after all
    Я не вполне понял задачу, которую вы пытаетесь решать.
    Как быстро выполнить топологическую сортировку дерева из списка?
    У вас фактически заданы дуги (arcs) графа. Вы можете из этих данных заполнить более удобную структуру данных (adjacency list, например) и на ней уже запустить алгоритм топологической сортировки. Например, основанный на поиске в глубину. То есть, при помощи DFS (depth-first search, поиск в глубину) ищем ноду (вершину, node, vertex), из которой нет исходящих дуг (sink node), присваиваем ей значение, равное количеству нод, удаляем ее из графа, повторяем. Число - позиция ноды в результирующем списке. Сложность O(m+n), где n - число нод, m - число дуг. Это если вам достаточно топологически отсортированного списка нод.
    Как наиболее быстро восстановить дерево из этого списка?
    Это уже другой вопрос. Что вы имеете в виду? В каком смысле 'восстановить'? У вас дерево (как частный случай графа) уже задано списком дуг фактически, в каком виде вам его необходимо представить?
    Если в виде (Name, ID, ChildID), то мне представляется, что за O(m) можно создать подобную структуру с фактически перевернутыми (относительно заданного дерева) дугами. Для каждого кортежа (Name, ID, ParentID) создаете (или обновляете поле Name, если нода уже существует) ноду (Name, ID), ноду ParentID (если она не создана), у ноды ParentID указываете наследника (child node) ID.
    Ответ написан
  • Как правильно посчитать процент верности ответов?

    @throughtheether
    human after all
    Предлагаю такое решение. Вес каждого пункта одинаков (20% в случае 5 вариантов ответа). Для каждого пункта известно, должен ли он быть включен в ответ (должна ли стоять галочка). Если галочка должна стоять и пользователь ее поставил - за этот пункт баллы начисляются. Если галочка должна стоять, пользователь ее не поставил - баллы не начисляются. Аналогично для пункта, который не должен быть включен в ответ.
    Пример: 5 пунктов, 1 и 2 правильные, 3,4,5 - неправильные.
    1 и 2 отмечены, 3,4,5 не отмечены - 100%
    1 и 2 не отмечены, 3,4,5 не отмечены - 60%
    1 отмечен, 2,3,4,5 не отмечены - 80%
    1,3,4 отмечены, 2,5 не отмечены - 40%
    1,2 не отмечены, 3,4,5 отмечены - 0%
    и так далее (всего 32 варианта).

    Человек поставил 1 верную галочку и 1 неверную - какой процент верности?
    20% за одну верную поставленную галочку и 40% за две верные непоставленные галочки, всего 60%
    Человек поставил 1 верную галочку и 2 неверных - какой процент верности?
    20% за верную поставленную галочку, 20% за одну верную непоставленную галочку, всего 40%.
    Возможно есть какие-либо статьи или известные решения?
    Примерно так, по-моему, реализовано тестирование в coursera.

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

    @throughtheether
    human after all
    у меня есть сеть и я ставлю чтоб трафик считал только с 111.0.0.0/255.0.0.0
    Я немного не понял используемую вами нотацию. Обычно используют или A.B.C.D/n, где n - длина префикса (число от 0 до 32), либо A.B.C.D M.M.M.M, где M.M.M.M - битовая маска (32 бита, 4 десятичных числа через точку, пример 255.255.255.0). Проясните этот момент, пожалуйста.

    В любом случае, вот примерный список префиксов. Получен вычитанием префиксов rfc1918, префиксов 0/8 и 127/8 из пространства юникаст-адресов.
    Список префиксов

    1.0.0.0/8
    2.0.0.0/8
    3.0.0.0/8
    4.0.0.0/8
    5.0.0.0/8
    6.0.0.0/8
    7.0.0.0/8
    8.0.0.0/8
    9.0.0.0/8
    11.0.0.0/8
    12.0.0.0/8
    13.0.0.0/8
    14.0.0.0/8
    15.0.0.0/8
    16.0.0.0/8
    17.0.0.0/8
    18.0.0.0/8
    19.0.0.0/8
    20.0.0.0/8
    21.0.0.0/8
    22.0.0.0/8
    23.0.0.0/8
    24.0.0.0/8
    25.0.0.0/8
    26.0.0.0/8
    27.0.0.0/8
    28.0.0.0/8
    29.0.0.0/8
    30.0.0.0/8
    31.0.0.0/8
    32.0.0.0/8
    33.0.0.0/8
    34.0.0.0/8
    35.0.0.0/8
    36.0.0.0/8
    37.0.0.0/8
    38.0.0.0/8
    39.0.0.0/8
    40.0.0.0/8
    41.0.0.0/8
    42.0.0.0/8
    43.0.0.0/8
    44.0.0.0/8
    45.0.0.0/8
    46.0.0.0/8
    47.0.0.0/8
    48.0.0.0/8
    49.0.0.0/8
    50.0.0.0/8
    51.0.0.0/8
    52.0.0.0/8
    53.0.0.0/8
    54.0.0.0/8
    55.0.0.0/8
    56.0.0.0/8
    57.0.0.0/8
    58.0.0.0/8
    59.0.0.0/8
    60.0.0.0/8
    61.0.0.0/8
    62.0.0.0/8
    63.0.0.0/8
    64.0.0.0/8
    65.0.0.0/8
    66.0.0.0/8
    67.0.0.0/8
    68.0.0.0/8
    69.0.0.0/8
    70.0.0.0/8
    71.0.0.0/8
    72.0.0.0/8
    73.0.0.0/8
    74.0.0.0/8
    75.0.0.0/8
    76.0.0.0/8
    77.0.0.0/8
    78.0.0.0/8
    79.0.0.0/8
    80.0.0.0/8
    81.0.0.0/8
    82.0.0.0/8
    83.0.0.0/8
    84.0.0.0/8
    85.0.0.0/8
    86.0.0.0/8
    87.0.0.0/8
    88.0.0.0/8
    89.0.0.0/8
    90.0.0.0/8
    91.0.0.0/8
    92.0.0.0/8
    93.0.0.0/8
    94.0.0.0/8
    95.0.0.0/8
    96.0.0.0/8
    97.0.0.0/8
    98.0.0.0/8
    99.0.0.0/8
    100.0.0.0/8
    101.0.0.0/8
    102.0.0.0/8
    103.0.0.0/8
    104.0.0.0/8
    105.0.0.0/8
    106.0.0.0/8
    107.0.0.0/8
    108.0.0.0/8
    109.0.0.0/8
    110.0.0.0/8
    111.0.0.0/8
    112.0.0.0/8
    113.0.0.0/8
    114.0.0.0/8
    115.0.0.0/8
    116.0.0.0/8
    117.0.0.0/8
    118.0.0.0/8
    119.0.0.0/8
    120.0.0.0/8
    121.0.0.0/8
    122.0.0.0/8
    123.0.0.0/8
    124.0.0.0/8
    125.0.0.0/8
    126.0.0.0/8
    128.0.0.0/8
    129.0.0.0/8
    130.0.0.0/8
    131.0.0.0/8
    132.0.0.0/8
    133.0.0.0/8
    134.0.0.0/8
    135.0.0.0/8
    136.0.0.0/8
    137.0.0.0/8
    138.0.0.0/8
    139.0.0.0/8
    140.0.0.0/8
    141.0.0.0/8
    142.0.0.0/8
    143.0.0.0/8
    144.0.0.0/8
    145.0.0.0/8
    146.0.0.0/8
    147.0.0.0/8
    148.0.0.0/8
    149.0.0.0/8
    150.0.0.0/8
    151.0.0.0/8
    152.0.0.0/8
    153.0.0.0/8
    154.0.0.0/8
    155.0.0.0/8
    156.0.0.0/8
    157.0.0.0/8
    158.0.0.0/8
    159.0.0.0/8
    160.0.0.0/8
    161.0.0.0/8
    162.0.0.0/8
    163.0.0.0/8
    164.0.0.0/8
    165.0.0.0/8
    166.0.0.0/8
    167.0.0.0/8
    168.0.0.0/8
    169.0.0.0/8
    170.0.0.0/8
    171.0.0.0/8
    173.0.0.0/8
    174.0.0.0/8
    175.0.0.0/8
    176.0.0.0/8
    177.0.0.0/8
    178.0.0.0/8
    179.0.0.0/8
    180.0.0.0/8
    181.0.0.0/8
    182.0.0.0/8
    183.0.0.0/8
    184.0.0.0/8
    185.0.0.0/8
    186.0.0.0/8
    187.0.0.0/8
    188.0.0.0/8
    189.0.0.0/8
    190.0.0.0/8
    191.0.0.0/8
    193.0.0.0/8
    194.0.0.0/8
    195.0.0.0/8
    196.0.0.0/8
    197.0.0.0/8
    198.0.0.0/8
    199.0.0.0/8
    200.0.0.0/8
    201.0.0.0/8
    202.0.0.0/8
    203.0.0.0/8
    204.0.0.0/8
    205.0.0.0/8
    206.0.0.0/8
    207.0.0.0/8
    208.0.0.0/8
    209.0.0.0/8
    210.0.0.0/8
    211.0.0.0/8
    212.0.0.0/8
    213.0.0.0/8
    214.0.0.0/8
    215.0.0.0/8
    216.0.0.0/8
    217.0.0.0/8
    218.0.0.0/8
    219.0.0.0/8
    220.0.0.0/8
    221.0.0.0/8
    222.0.0.0/8
    223.0.0.0/8
    172.0.0.0/12
    172.32.0.0/12
    172.48.0.0/12
    172.64.0.0/10
    172.128.0.0/9
    192.0.0.0/9
    192.192.0.0/10
    192.128.0.0/11
    192.176.0.0/12
    192.160.0.0/13
    192.172.0.0/14
    192.170.0.0/15
    192.169.0.0/16
    Ответ написан
    2 комментария
  • Что должен знать и уметь начинающий сетевой администратор?

    @throughtheether
    human after all
    0) Представим, необходимо передать данные между компьютерами 1 и 2. Никаких Ethernet и IP еще не придумали, допустим. Есть провода, оптоволокно, соответствующие трансиверы. Что делать? (семиуровневая модель и почему это не священная корова, мультиплексирование, инкапсуляция)

    1) Коммутация. Как происходит обработка (перенаправление) трафика коммутатором? Допустим, пришел фрейм с таким-то адресом источника и таким-то адресом назначения - что происходит? Что и почему произойдет, если два 'деревянных' (без STP и прочих излишеств) коммутатора соединить двумя линками? Как с этим бороться (STP, в чем минусы)?

    2) Статическая маршрутизация IPv4. Зачем вообще нужен IP, когда есть Ethernet или Serial интерфейсы (хотя, по-моему, IP появился раньше, чем Ethernet, но вопрос имеет определенный смысл, пересекается с пунктом 0)? Допустим, на маршрутизатор приходит пакет (точнее, Ethernet-фрейм, а в нем IP-пакет). Что дальше происходит? Чем концептуально отличается перенаправление пакетов на 3 и 2 уровнях ЭМВОС? Почему l2-петля (в случае Ethernet) это скрежет зубовнай, а L3-петля не так страшна? Чем концептульно отличаются IPv4-адреса от MAC-адресов?

    3) Как заставить работать вместе Ethernet и IP (это про ARP)?

    4) Нарисуйте топологию вида "маршрутизатор на палочке", где маршрутизатор маршрутизирует трафик между двумя вланами. К нему транком подключен коммутатор, к коммутатору - два хоста в разных вланах. Один хост шлет icmp echo запрос другому ('пингует'). Что происходит на каждом устройстве? Какие адреса (IP, MAC) используются в заголовках пакетов и фреймов на разных этапах? Каково содержимое таблиц маршрутизации, коммутации, ARP-таблиц?

    5) Уже после четкого освоения вышеописанного: безопасность (ACL, фаерволлы), туннели (зачем нужны, в чем минусы), NAT (зачем нужен, в чем минусы). Динамическая маршрутизация. Как устроен Интернет (и чем Интернет отличается от Worldwide web)

    Из книг, Jeff Doyle, 'Routing TCP/IP', volume I, первые несколько глав. И есть неплохая книжка, на тему 'чего не сказали в курсе CCNA'.

    Привел самые базовые вопросы. Разобравшись с ними, думаю, дальнейший вектор развития сами будете способны задать.
    Ответ написан
    3 комментария
  • IPython, вывести список объявленных в интерактивной оболочке переменных

    @throughtheether
    human after all
    какой командой (быть может, она есть) можно вывести список переменных которые я объявил находясь в интерактивной оболочке IPython

    who или, более детально, whos
    Ответ написан
    2 комментария
  • Объясните как работает это устройство

    @throughtheether
    human after all
    Это медиаконвертер. К вам приходит оптоволокно (желтый кабель), сигналы принимаются фототранзистором, восстанавливаются, перекодируются и передаются по витой паре. Аналогично в обратном направлении.
    Работает, как правило, на первом уровне ЭМВОС, т.е. и на входе и на выходе - Ethernet-фреймы, только кодированные по-разному с учетом используемой среды (оптоволокно или витая пара)
    Ответ написан
    Комментировать
  • ОС где только веб браузер?

    @throughtheether
    human after all
    Есть ли на белом свете решение под ключ под наши нужды?

    Нечто подобное называется Web kiosk. Пример.
    В свое время необходимо было решить схожую задачу, остановились на тюнинге шедшего в комплекте к оборудованию Windows XP Embedded.
    Ответ написан
    Комментировать
  • Компьютерные сети - где повысить навыки и получить сертификат?

    @throughtheether
    human after all
    1. Начать с изучения маршрутизации и коммутации, как основы всего.
    2. Читаете книжку, выполняете лабы (на GNS3 или на реальном оборудовании). Непонятные моменты уточняете у коллег. Итеративно продолжаете до просветления. Сдаете экзамен.
    3. Трудно прогнозировать. Лучше не торопиться, несколько месяцев на CCNA потратить, если вы начинающий сетевик.
    4. Если у вас нет никаких сертификатов, то стоит начать с Cisco CCNA. У Juniper тоже интересная линейка (начинается с JNCIA-Junos), и экзамены дешевле.

    Из книжек рекомендую Routing TCP/IP, первые несколько глав. По курсу CCNA, говорят, неплохие книжки Одома.
    Ответ написан
    5 комментариев
  • Почему пинг на удаленный ресурс появляется только после перезагрузке интерфейса на Debian?

    @throughtheether
    human after all
    Не вполне ясен смысл этой строчки
    route add -net 192.168.99.0 gw 192.168.99.19 netmask 255.255.255.0
    У вас уже сеть 192.168.99.0/24 завешана на интерфейсе bond0 и доступна через него:
    192.168.99.0 * 255.255.255.0 U 0 0 0 bond0
    Я чего-то не понимаю и это какой-то линукс-костыль? Какова функция этой строки?

    И второй момент. При повторном наблюдении проблемы попробуйте вместо тушения/поднятия интерфейса запустить пинг до 192.168.99.19 c СХД. Есть подозрение на флуктуации ARP-таблицы на маршрутизаторе.
    Ответ написан
  • Какие антенны используются для wifi передатчика/приемника в телефонах?

    @throughtheether
    human after all
    С круговой (сферической, торической) диаграммой направленности.
    раз
    The polarization of this antenna is vertical, and the radiation pattern is roughly donut shaped, with the axis of the donut in the vertical direction.


    два
    The Planar Inverted-F Antenna is popular because it has a low profile and an omnidirectional pattern.

    Ссылки могут быть заблокированы РКН, через tor доступны.
    Ответ написан
    Комментировать
  • Можно ли заставить Микротик определить положение подключившегося?

    @throughtheether
    human after all
    Нет, нельзя.

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

    Если необходимо найти именно место расположения клиента, то можно предположить применение направленной антенны (для дифференциации по азимуту) и анализатора трафика (для дифференциации по MAC-адресам).
    Ответ написан