Блог О пользователеmashinkopochinko

Регистрация

Мой справочник online

Календарь

<< Август 2010  

Пн Вт Ср Чт Пт Сб Вс
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

На странице

  • Одним из проблемных моментов современных многоядерных процессоров является их энергопотребление, для минимизации которого производители процессоров используют свои аппаратные технологии. Кроме того, производители процессоров дают рекомендации разработчикам операционных систем, за счет чего можно дополнительно снизить энергопотребление. При разработке Windows 7 и Windows 2008 R2 компания Microsoft прислушалась к таким рекомендациям от Intel.

    Как известно, при работе на многоядерных процессорах, операционная система производит ротацию потоков  между ядрами. Другими словами, переносит поток с более загруженных на менее загруженные ядра, что обеспечивает равномерную загрузку всех ядер системы. Но такая постоянная ротация приводит к потере производительности и повышению  энергопотребления. Чтобы изменить ситуацию в Windows 7 и Windows 2008 R2, была реализована функция «идеального ядра», которая оставляет выполнение процесса на том ядре, на котором он начался, до полного его завершения. Такой подход позволяет получить более отзывчивую систему. Кроме того, с подходом "идеального ядра», была реализована функция "парковка ядер», позволяющая переносить все задачи на одно ядро, а остальные переводить в бездействие, если это позволяет уровень основной нагрузки. Соответственно, совместная работа двух функций позволяет минимизировать число использования ядер в режиме бездействия, что в свою очередь приведет к снижению энергопотребления и получению более отзывчивой системы.

    *

    Core Parking в конфигурации с минимальным энергопотреблением.

    *

    Работа Core Parking при возрастании вычислительной нагрузки.

    Для отображения параметров парковки ядра в графическом интерфейсе панели управления необходимо импортировать в  реестр  следующие значения:

    Windows Registry Editor Version 5,00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251—82be-4824—96c1—47b60b740d00\0cc5b647-c1df-4637—891a-dec35c318583]
    «Attributes"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251—82be-4824—96c1—47b60b740d00\3b04d4fd-1cc7—4f23-ab1c-d1337819c4bb]
    «Attributes"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251—82be-4824—96c1—47b60b740d00\5d76a2ca-e8c0—402f-a133-21-58492d58ad]
    «Attributes"=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251—82be-4824—96c1—47b60b740d00\a55612aa-f624—42c6-a443-73-97d064c04f]
    «Attributes»=dword:00000000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251—82be-4824—96c1—47b60b740d00\ea062031—0e34—4ff1—9b6d-eb1059334028]
    «Attributes»=dword:00000000

    После этого перейти в Панель управления - > Электропитание - > Настройка плана электропитания - > Изменить дополнительные параметры питания - > Управлением питания процессора и выставить следующие значения параметров:

    * 

    • В Минимальное число ядер в состоянии простоя (Processor performance core parking min cores) - Установить 25% для четырех ядерного процессора — или 50% для двух ядерного процессора.
    • В Разрешить состояния снижения питания (Allow Throttle States) – Включить.
    • В Отключение простоя процессора (Processor idle disable) - Включить состояние простоя.
    • В Переопределение ядра приостановки ядра производительности процессора (Processor performance core parking core override) – Отключено.
    • В Максимальное число ядер в состоянии простоя (Processor performance core parking max cores) - Установить 75% для четырех ядерного процессора или 50% для двух ядерного процессора. 

    Вызвав Монитор ресурсов через Диспетчер задач, на вкладке ЦП можно будет увидеть, что часть ядер припаркована. 

    *
    Увеличить рисунок

    Источник
  • 1 апреля 2010 | 22:51 Windows 2008 server core configurators 

    CoreConfigurator 1.3.0.1


    Core Configurator 2,0 - вскрываем winrar'ом и запускаем start_coreconfig.wsf или же используем «исошку» по назначению :)
    p.s. У обоих есть свои плюсы и минусы, поэтому стоит использовать оба :)
  • 21 марта 2010 | 23:03 win 7 and XP 

    На днях столкнулся с подобной проблемой.
    Ситуация: есть 1 комп с 1м hdd, 2а локальных диска (c\d)
    на диск «С:» была установлена windows 7, далее понадобилась XP и ее поставил соответственно на диск «D:» после чего я мог загрузить только XP. порыскав в интернете наткнулся на статью с ozone.net. Помогла мне в решении данной проблемы утилита Bcdedit и данные команды (не забываем запустить командную строку с правами администратора если делаете подобное из win vista\7):


    Последовательно выполнил следующие команды.

    1. %windir%\system32\Bcdedit /create {ntldr} /d «Microsoft Windows XP»
    2. %windir%\system32\Bcdedit /set {ntldr} device partition=C:
    3. %windir%\system32\Bcdedit /set {ntldr} path \ntldr
    4. %windir%\system32\Bcdedit /displayorder {ntldr} /addlast

    Синтаксис утилиты Bcdedit.exe можно просмотреть по команде: Bcdedit /? 
    утилиту можете запустить откуда угодно :)

  • 19 февраля 2010 | 17:23 Подавление DHCP серверов 

    Предисловие

    Поддерживаемые платформы: Windows, Linux, FreeBSD, NetBSD, OpenBSD & DragonFlyBSD.
    При использовании в сети протокола DHCP и некотором недостатке управляемых коммутаторов с возможностью настройки фильтрации трафика, периодически возникает проблема с появлением ложных DHCP серверов. Обычно, причиной подобной проблемы является неграмотный пользователь, который неправильно подключил SOHO маршрутизатор к сети, либо очередное юное дарование, желающее заняться изучением телекоммуникационных технологий на практике. Так или иначе, но следствие одинакого — Ваши клиенты получившие конфигруационную информацию от подобного «вредителя», выбывают из нормальной работы в сети. В данной статье описана программа dhcdrop, позволяющая решить подобную проблему посредством подавления нелегальных DHCP серверов.

    Кроме того, данная программа является хорошим диагностическим инструментом для проверки работоспособности DHCP серверов, а так же средством стресс-тестирования. Применение этой программы для каких-либо иных целей остаётся на Вашей совести ;-)

    Теоретическая основа

    В протоколе DHCP определена опция, которая задает длительность аренды IP адреса (Lease time) - это время на которое DHCP сервер выдаёт IP адрес в пользование клиенту. По истечении этого временного интервала клиент должен выполнить попытку обновить IP адрес с целью продления аренды. Для сервера выдача IP адреса в аренду обозначает то, что за время аренды данный IP адрес может быть выдан только владельцу аренды и никому кроме него. Идентификация клиентов сервером производится на основании MAC адреса. Обычно, каждый сервер имеет пул динамических IP адресов, т.е. IP адресов которые не закреплены за конкретными MAC адресами и выдаются динамически по запросу любому клиенту. Пул на SOHO маршрутизаторах в конфигурации по умолчанию имеет небольшой размер — от нескольких десятков до 2х сотен адресов. В случае использования ПО, выполняющего роль DHCP сервера, величину пула определяет тот, кто настраивает. Если пул адресов исчерпан, то DHCP сервер игнорирует запросы от новых клиентов (возможно документируя это в логах) - т.е., фактически, бездействует.

    Таким образом, в случае появления в сети ложных DHCP их можно нейтрализовать достаточно просто — необходимо получить аренду на все доступные на данном сервере IP адреса, каждый раз посылая запросы от уникальных клиентов. Чем больше время аренды в настройках сервера, тем на больший срок DHCP сервер оказывается нейтрализован в случае исчерпания динамического пула. Для большинства SOHO маршрутизаторов Lease Time исчисляется днями, или даже неделями. В случае использования в качестве DHCP сервера WinGate, dhcpd и прочего подобного софта, время зависит от фантазии человека который его настроил.

    Принцип работы dhcdrop

    Программа открывает указанный в параметрах командной строки интерфейс в promiscuous режиме, формирует DHCP запрос (DHCPDISCOVER), используя случайный исходящий MAC адрес (если в параметрах не задано иное поведение), и отправляет его в интерфейс.
    01:58:04,681600 00:70:de:3b:b9:05  > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), 
    length 342: (tos 0x10, ttl 64, id 33964, offset 0, flags [none],
    proto UDP (17), length 328)
    0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:70:de:3b:b9:05,
    length 300, xid 0xcc1cfc5c, Flags [none]
    Client-Ethernet-Address 00:70:de:3b:b9:05
    Vendor-rfc1048 Extensions
    Magic Cookie 0x63825363
    DHCP-Message Option 53, length 1: Discover
    Parameter-Request Option 55, length 3:
    Domain-Name-Server, Default-Gateway, Subnet-Mask
    Hostname Option 12, length 12: «DHCP-dropper»
    Vendor-Class Option 60, length 12: «DHCP-dropper»
    Client-ID Option 61, length 7: ether 00:70:de:3b:b9:05
    После чего переходит к ожиданию ответа (DHCPOFFER) сервера. Если получен ответ с предложением аренды IP адреса, то в интерфейс отправляется следующий DHCP запрос (DHCPREQUEST) на который сервер отвечает DHCPACK-пакетом подтверждающим возможность использования данного IP адреса клиентом. На этом операция получения аренды на предложенный сервером IP адрес завершена. Программа изменяет MAC адрес источника и вновь посылает DHCPDISCOVER, после чего все вышеуказанные операции по получению аренды нового IP адреса повторяются. Стоит обрать внимание что программа изменяет не только MAC адрес клиента в DHCP сообщении, но и MAC адрес в заголовке Ethernet-фрейма. Данная возможность максимально приближает работу программы к работе реального DHCP клиента (а так же позволяет обойти DHCP snooping).

    Цикл получения IP адресов с сервера завершается, когда получено заданное параметром максимальное число IP адресов, либо в случае исчерпания динамического пула сервера. Во втором случае можно праздновать победу. В первом, если всё же имеется цель подавить данный DHCP сервер, то есть смысл указать иное значение параметра максимального числа арендуемых адресов.

    Описание опций программы

    В UNIX-like ОС программу необходимо запускать с правами пользователя root (исключая случай просмотра справки -h), если вы об этом забудете, то она непременно об этом напомнит.
    $ dhcdrop
    Usage:
    dhcpdrop [-h] [-D] [-t] [-y] [-r] [-b] [-a] [-A] [-f] [-R] [-q]
    [-m < count >] [-c < count >] [-n < hostname >] [-N < clientname >]
    [-p < port >] [-P < port >] [-w < secs >] [-T < timeout >]
    [-M < max-hosts-scan >] [-l < MAC-address >] [-L < network >]
    [-S < network/mask >] [-F < from-IP >] [-s < server-IP >]
    [-C < children count (2 — 32) >] [< initial MAC address >]
    -i < interface-name|interface-index >

    DHCP-dropper v0,5 was written by Chebotarev Roman at 05.08.2009
    Home page: http://www.netpatch.ru/dhcdrop.html
    Use option —h for help. Exit.
    Подробное описание:

    • -h — показывает help-сообщение.
    • -D — просмотр списка имён и индексов сетевых интерфейсов. Актуально в ОС Windows — см. пример ниже.
    • -t — Режим теста. В этом режиме dhcdrop не выполняет подавление сервера. Производится лишь посылка DHCPDISCOVER, если на него приходит ответ нелегального сервера, то программа заверается возвращаяя код 200 и выводя на экран строку вида DHCP SRV: 10.7.7.1 (IP-hdr: 10.7.7.1) SRV ether: 00:02:44:75:77:E4, YIP: 10.7.7.205 содержащую минимум информации о создающем проблему DHCP сервере.
    • -y — подразумевается ответ «yes» на любой вопрос программы.
    • -r — отключает рандомизацию MAC адреса источника. Каждый последующий MAC адрес источника увеличивается на 1.
    • -b — указывает на необходимость использования флага BROADCAST в отправляемых DHCP пакетах.
    • -a — всегда ожидать ответа сервера на порт DHCP клиента по умолчанию (68), даже если задано значение номера порта клиента отличное от значения по умолчанию.
    • -A — всегда ожидать ответа с порта DHCP сервера по умолчанию (67), даже если задано значение номера порта сервера отличное от значения по умолчанию.
    • -f — режим флуда запросами DHCPDISCOVER. ПРИМЕНЯТЬ С ОСТОРОЖНОСТЬЮ. Удобен для стресс-тестирования сервера. В случае указания опции -r все отправляемые пакеты имеют одинаковый MAC адрес.
    • -R — отправляет сообщение DHCPRELEASE с MAC адресом источника указанном при запуске программы и IP адресом указанным при помощи опции —F к серверу указанному опцией —s.
    • -q — «тихий» режим работы. Выводится минимум информации.
    • -m count — максимальное число попыток получения ответа от сервера.
    • -c count — максимальное число адресов арендуемых у сервера.
    • -n hostname — значение DHCP опции HostName (по умолчанию — «DHCP-dropper»)
    • -N clientname — значение DHCP опции Vendor-Class (по умолчанию — «DHCP-dropper»)
    • -p port — порт используемый клиентом для отправки DHCP сообщений. По умолчанию — 68.
    • -P port — порт сервера, на который отправляются DHCP сообщения. По умолчанию — 67.
    • -w секунд — задаёт таймаут рестарта процесса получения IP адресов в случае использования агрессивного режима. По умолчанию — 60 секунд.
    • -T timeout — устанавливает таймаут ожидания ответа сервера (в секундах). По умолчанию — 3 секунды.
    • -M хостов-максимум — максимально допустимое количество сканируемых хостов в случае использования агрессивного режима.
    • -l MAC-address — Ethernet адрес сервера который необходимо игнориновать при выполненении поиска ложных DHCP серверов в сети. В этой опции следует указать адрес DHCP сервера ответственного за раздачу адресов в данном сегменте сети. Может быть указано несколько адресов — каждый должен предваряться ключом —l.
    • -L легальная-сеть — указывает легальную IP подсеть для выбранного интерфейса. Использование этой опции автоматически включает агрессивный режим получения IP адресов. Может быть указано несколько сетей — каждая должна предваряться ключом —L. Подробное описание смотрите ниже.
    • -S сеть/маска — ARP сканирование сети 'сеть' с использованием сетевой маски 'маска' в CIDR нотации. IP адрес источника задаётся опцией —F. Если IP адрес источника не задан — используется случайный адрес из диапазона указанной подсети. Пример использования смотрите ниже.
    • -F исходящий-IP-адрес — указывает IP адрес источника для сканирования сети (опция —S), либо IP адрес DHCP клиента для отправки сообщения DHCPRELEASE (опция —R).
    • -s IP-адрес-сервера — задаёт IP адрес DHCP сервера. Используется с опцией —R.
    • -C count — число порождаемых процессов-потомков. Совместим только с флагом —f. Используется для увеличения числа отправляемых пакетов за единицу времени. При значении этого параметра равном 30, 10000 пакетов генерировалось менее чем за 1,5 секунды.
    • -i interface — имя либо индекс сетевого интерфейса (см. ключ -D). Не может быть «any»! Единственный обязательный параметр программы.
    • initial MAC address — задаёт MAC адрес источника используемый при отправке первого DHCP сообщения, либо используемый постоянно, в случае использования опции '-f' (flood) вместе с опцией '-r'. Если не указан, то используется случайный MAC адрес источника.

    Использование программы

    Ниже представлены наиболее часто используемые режимы запуска программы.

    Просмотр списка интерфейсов.
    Для начала нужно понять как называется сетевой интерфейс на котором находится DHCP сервер. Если в UNIX-like ОС понять это достаточно просто, руководствуясь выводом команды ifconfig, то в ОС семейства Windows всё не так очевидно. По этому сперва запустим программу с ключом -D:

    C:\ >dhcdrop —D
    Available interfaces:
    1:\Device\NPF_GenericDialupAdapter
    descr: Adapter for generic dialup and VPN capture
    2:\Device\NPF_{0C796DB5—22D9—46AB-9301—9C7ADC2304AF}
    descr: ZyXEL G№ 650 1000Base-T Adapter (Microsoft's Packet Scheduler)
    iaddr: 192.168.1.2/24 bcast: 255.255.255.255
    iaddr: 10.7.7.7/24 bcast: 255.255.255.255

    По выведенной информации очевидно что нам нужен второй интерфейс. В качестве аргумента для ключа программы -i можно задать либо индекс интерфейса 2, либо его имя: \Device\NPF_{0C796DB5—22D9—46AB-9301—9C7ADC2304AF}. На мой взгляд гораздо проще использовать индекс и запустить программу указав вместо имени индекс, например: dhcdrop —i 2

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

    $ sudo dhcdrop —i eth1
    Using interface: 'eth1'
    Got response from server 10.7.7.1 (IP-header 10.7.7.1), server ethernet address: 00:02:44:75:77:E4, lease time: 1,1h (3960s)
    Got BOOTREPLY (DHCPOFFER) for client ether: 00:16:09:D8:CF:60 You IP: 10.7.7.201/24
    Drop him? [y/n] n
    Searching next server…
    Got response from server 192.168.1.1 (IP-header 192.168.1.1), server ethernet address: 00:1E:2A:52:C8:CA, lease time: 24h (86400s)
    Got BOOTREPLY (DHCPOFFER) for client ether: 00:16:09:D8:CF:60 You IP: 192.168.1.2/24
    Drop him? [y/n] y
    1. Got BOOTREPLY (DHCPACK) for client ether: 00:16:09:D8:CF:60 You IP: 192.168.1.2/24
    2. Got BOOTREPLY (DHCPACK) for client ether: 00:A2:FA:12:41:F7 You IP: 192.168.1.3/24
    3. Got BOOTREPLY (DHCPACK) for client ether: 00:56:EA:F8:1C:B0 You IP: 192.168.1.4/24
    4. Got BOOTREPLY (DHCPACK) for client ether: 00:EA:91:1A:C8:A8 You IP: 192.168.1.5/24
    5. Got BOOTREPLY (DHCPACK) for client ether: 00:83:8A:25:C7:1C You IP: 192.168.1.6/24
    6. Got BOOTREPLY (DHCPACK) for client ether: 00:CA:A7:FF:C1:70 You IP: 192.168.1.7/24
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Finished.

    Как видно из примера — при получении ответа от DHCP сервера dhcdrop сообщает полученную от сервера информацию о предлагаемом IP адресе и спрашивает о необходимости подавления данного сервера. Получив отрицательный ответ — продолжает поиск серверов в сети игнорируя обнаруженный ранее сервер. В случае получения утвердительного ответа — начинает процесс подавления сервера указанным выше способом.

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


    $ sudo dhcdrop —i eth1 —y —l 00:02:44:75:77:E4
    Using interface: 'eth1'
    Got response from server 192.168.1.1 (IP-header 192.168.1.1), server ethernet address: 00:1E:2A:52:C8:CA, lease time: 24h (86400s)
    Got BOOTREPLY (DHCPOFFER) for client ether: 00:37:C5:10:BE:16 You IP: 192.168.1.2/24
    1. Got BOOTREPLY (DHCPACK) for client ether: 00:37:C5:10:BE:16 You IP: 192.168.1.2/24
    2. Got BOOTREPLY (DHCPACK) for client ether: 00:94:26:88:33:BD You IP: 192.168.1.3/24
    3. Got BOOTREPLY (DHCPACK) for client ether: 00:E5:AC:7B:79:BB You IP: 192.168.1.4/24
    4. Got BOOTREPLY (DHCPACK) for client ether: 00:EA:16:AD:B2:30 You IP: 192.168.1.5/24
    5. Got BOOTREPLY (DHCPACK) for client ether: 00:A2:8D:16:7E:82 You IP: 192.168.1.6/24
    6. Got BOOTREPLY (DHCPACK) for client ether: 00:04:ED:4A:C2:C5 You IP: 192.168.1.7/24
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Finished.

    В подобном варианте использования dhcdrop подавляет любой сервер кроме указанного опцией —l сервера, не задавая дополнительных вопросов (благодаря использованию опции —y).

    Тестовый режим.
    Тестовый режим (-t) удобно использовать для выполнения программы из скриптов, в автоматизированном режиме. Ниже приведён пример простейшего скрипта:

    00 #!/bin/bash
    01 LEGAL_SERVER="00:11:22:33:44:55»
    02 DROPPER="/usr/sbin/dhcdrop»
    03 IFNAME="eth1»

    04 $DROPPER —i $IFNAME —t —l $LEGAL_SERVER —m 3

    05 if [ $? = 200 ]
    06 then
    07 echo Illegal server found\! Dropping him\!
    08 $DROPPER —i $IFNAME —l $LEGAL_SERVER —y
    09 else
    10 echo Illegal server not found.
    11 fi

    В строке 4 выполняется запуск dhcdrop в тестовом режиме, с указанием опции легального для сети DHCP сервера (-l), опцией режима тестирования (-t) и опцией задающей максимальное число попыток отправки DHCPDISCOVER в режиме поиска сервера (-m). Если ни на один из отправленных запросов не придёт ответа — программа завершается с кодом 0. Если приходит ответ от сервера не заданного опцией —l, программа завершается с кодом 200, что вызывает последующий запуск программы с параметрами определяющими подавление любого DHCP сервера в сети, кроме легального.

    Использование агрессивного режима получения адресов.
    Как можно догадаться из описания протокола DHCP — если клиент уже получил конфигурационный набор данных от нелегального DHCP сервера, то сервер не выдаст повторно этот набор другому клиенту пока не истечёт срок аренды. Следовательно простое исчерпание пула IP адресов не спасёт клиентов уже получивших не верные конфигурационные данные — сервер будет выдавать эти адреса только изначально запросившим их клиентам и будет игнорировать запросы от dhcdrop. При следующей попытке обновления адреса клиенты вновь получат информацию от нелегального DHCP сервера, и так будет продолжаться пока не отключат нелегальный DHCP сервер.
    Для решения подобных проблем в dhcdrop начиная с версии 0.5. добавлен агрессивный режим получения IP адресов. Включается опцией —L указывающей легитимную IP подсеть для данного Ethernet сегмента сети. Алгоритм его работы следующий:

    1. dhcdrop запускает обычный режим подавления и исчерпывает весь пул свободных IP адресов нелегального DHCP сервера.
    2. Анализирует первый DHCPOFFER полученный от нелегального DHCP. При помощи сетевой маски и IP адреса клиента выданных сервером получает адрес IP сети обслуживаемой этим сервером.
    3. Запускает ARP-сканирование полученной подсети с целью выявить хосты получившие не правильную конфигурационную информацию. По умолчанию число сканируемых хостов ограничено числом 512 (можно изменить опцией —M) - некоторые сервера выдают конфигурационные наобры с маской /8, что соответствует примерно 16 млн. хостов — сканирование такого адресного диапазона займёт очень большое время.
    4. Отправляет DHCP серверу сообщения DHCPRELEASE от каждого из найденных хостов (исключая сам сервер).
    5. Ожидает 60 секунд (значение по умолчанию, может быть изменено опцией —w) после чего перезапускает процесс получения IP адресов.

    В качестве примера запустим dhcdrop с теми же параметрами что и в предыдущем примере, но дополнительно укажем легальную IP сеть 10.7.7.0.

    $ sudo dhcdrop —i eth1 —y —l 00:02:44:75:77:E4 —L 10.7.7.0
    Using interface: 'eth1'
    Got response from server 192.168.1.1 (IP-header 192.168.1.1), server ethernet address: 00:1E:2A:52:C8:CA, lease time: 24h (86400s)
    Got BOOTREPLY (DHCPOFFER) for client ether: 00:BC:BF:D6:39:2E You IP: 192.168.1.5/24
    1. Got BOOTREPLY (DHCPACK) for client ether: 00:BC:BF:D6:39:2E You IP: 192.168.1.5/24
    2. Got BOOTREPLY (DHCPACK) for client ether: 00:FB:E7:A4:19:EC You IP: 192.168.1.6/24
    3. Got BOOTREPLY (DHCPACK) for client ether: 00:CB:44:F9:A8:6F You IP: 192.168.1.7/24
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Trying to use agressive mode.
    Starting ARP scanning network in range: 192.168.1.0 — 192.168.1.255…
    Illegal DHCP server perhaps assigned IP adresses to the following hosts:
    1. Received ARP-reply from: 00:1e:2a:52:c8:ca (192.168.1.1) - itself DHCP server.
    2. Received ARP-reply from: 00:03:ff:15:52:90 (192.168.1.3)
    3. Received ARP-reply from: 00:03:ff:14:52:90 (192.168.1.4)
    4. Received ARP-reply from: 00:a0:c5:30:52:90 (192.168.1.200)
    Sending DHCPRELEASE for invalid clients:
    Send DHCPRELEASE for host 00:03:ff:15:52:90 (192.168.1.3).
    Send DHCPRELEASE for host 00:03:ff:14:52:90 (192.168.1.4).
    Send DHCPRELEASE for host 00:a0:c5:30:52:90 (192.168.1.200).
    Restart dropping DHCP server after 60 seconds timeout…
    1. Got BOOTREPLY (DHCPACK) for client ether: 00:BC:BF:D6:39:2E You IP: 192.168.1.5/24
    2. Got BOOTREPLY (DHCPACK) for client ether: 00:F1:32:14:60:A3 You IP: 192.168.1.3/24
    3. Got BOOTREPLY (DHCPACK) for client ether: 00:2D:1C:80:ED:12 You IP: 192.168.1.4/24
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.
    Wait DHCPOFFER timeout. Resending DHCPDISCOVER.

    WARNING: Failed to take away all the IP addresses assigned by DHCP server.
    Perhaps DHCP server checks availability of IP addresses by sending ARP-request
    before assigning them. Try to restart dhcpdrop later. If it doesn't help
    try to disconnect problem hosts temporarily, then send manually DHCPRELEASE
    from address of this hosts (use option —R) and restart dhcdrop.

    Finished.

    Пояснения к результатам работы программы.
    После вывода надписи «Trying to use agressive mode.» начинается ARP сканирование подсети обслуживаемой нелегальным DHCP сервером в указанном диапазоне. В результате найдено 4 хоста, включая сам DHCP сервер (1й хост). Затем dhcdrop посылает серверу 192.168.1.1 сообщения DHCPRELEASE от адресов (Ethernet & IP) всех хостов найденных в подсети кроме самого DHCP сервера и останавливает выполнение на 60 секунд. Таймаут необходим потому что некоторые DHCP сервера удерживают выдачу IP адреса новому клиенту в течение небольшого времени после получения сообщения DHCPRELEASE от предыдущего клиента. В случае необходмости значение таймаута можно изменить опцией —w. По истечении таймаута dhcdrop запускает процесс получения освободившихся IP адресов. Успешно удалось получить IP адреса 192.168.1.5 (был получен изначально при старте программы), 192.168.1.3 и 192.168.1.4. Последние два адреса были успешно особождены сервером после получения сообщений DHCPRELEASE сгенерированных dhcdrop. Не удалось получить адрес 192.168.1.200 несмотря на присутствие этого хоста в сети, и то что от его адреса было отправлено сообщение DHCPRELEASE. Одна из причин неудачи описана в предупреждении, в конце вывода программы — DHCP сервер перед выдачей адресов может проверять присутствует ли в сети хост с запрашиваемым IP адресом и только после этого — выдавать адрес, если таковой хост в сети отсутствует. В противном случае — новая аренда на этот адрес выдана не будет. В этой ситуации может помочь отключение проблемных хостов от сети вручную и отправка сообщений DHCPRELEASE от адреса этих хостов серверу (см. пример ниже), после чего необходимо снова запустить процесс получения IP адресов.
    Но в нашем случае проблема кроется не в этом — хост 192.168.1.200 имеет статически установленный адрес и потому никогда не запрашивал конфигурации у DHCP сервера.
    Сама необходимость указания легальной сети для запуска агрессивного режима необходима что бы проверить — не пересекается ли адресный диапазон выдаваемый нелегальным DHCP сервером с адресным пространством подсети в которой он обнаружен. Если адресные пространства пересекаются — ARP сканирование будет проведено по хостам имеющим правильную конфигурацию и выведет ошибочную информацию. Потому в случае обнаружения пересечения диапазонов адресов агрессивный режим не запускается.

    Отправка сообщения DHCPRELEASE.
    Возможно у вас возникнет необходимость отправки сообщений DHCPRELEASE в ручном режиме. Например по причине указанной в предыдущем примере. Сделать это можно при помощи опции —R:

    $ sudo dhcdrop —i eth1 —R —s 192.168.1.1 —F 192.168.1.4 00:2D:1C:80:ED:12
    Using interface: 'eth1'
    Send DHCPRELEASE from 00:2D:1C:80:ED:12 client IP 192.168.1.4 to DHCP server 192.168.1.1
    Finished.

    Опция —s задаёт IP адрес сервера, -F - IP адрес DHCPклиента, 00:2D:1C:80:ED:12 — Ethernet адрес клиента. В результате в сеть отправлен пакет вида:

    16:13:43,887735 00:2d:1c:80:ed:12  > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: 
    (tos 0x10, ttl 64, id 29807, offset 0, flags [none], proto UDP (17), length 328)
    0.0.0.0.68 > 192.168.1.1.67: BOOTP/DHCP, Request from 00:2d:1c:80:ed:12,
    length 300, xid 0xb2f04a28, Flags [none]
    Client-IP 192.168.1.4
    Client-Ethernet-Address 00:2d:1c:80:ed:12
    Vendor-rfc1048 Extensions
    Magic Cookie 0x63825363
    DHCP-Message Option 53, length 1: Release
    Server-ID Option 54, length 4: 192.168.1.1
    Client-ID Option 61, length 7: ether 00:2d:1c:80:ed:12

    Сканирование сегмента сети.
    Вы можете использовать ARP сканирование сети для поиска клиентов получивших не верную конфигурационную информацию. Осуществляется при помощи опции —S:

    $ dhcdrop —i eth1 —S 192.168.1.0/24
    Using interface: 'eth1'
    Starting ARP-scanning for subnet 192.168.1.0/24.
    IP address range 192.168.1.0 — 192.168.1.255.
    WARNING: Source IP is not set (use option —F).
    Using random value for source IP address: 192.168.1.195
    1. Received ARP-reply from: 00:1e:2a:52:c8:ca (192.168.1.1).
    2. Received ARP-reply from: 00:a0:c5:30:52:90 (192.168.1.200).
    Finished.

    Как следует из предупреждения напечатанного программой — при запуске не был задан IP адрес источника, потому dhcdrop выбирает случайный IP адрес из диапазона адресов указанной подсети. Если вам нужно указать адрес источника — используйте опцию —F.
    Для данного типа сканирования не важны фактические настройки маршрутизации в вашей сети. Всегда будет использоваться интерфейс заданный опцией —i из расчёта что хосты указанной подсети находятся в одном Ethernet сегменте с хостом на котором запущен dhcdrop.
    Так же, данная опция позволяет обнаружить дублирование IP адресов в одном сегменте сети, даже если сканирование производится с хоста чей IP адрес дублируется другим хостом.

    Источник

    Теги: dhcp

  • 19 февраля 2010 | 17:14 Загрузочная флэшка 

    C:\Windows\system32 > diskpart

    DISKPART > list disk

      Disk ###  Status         Size     Free     Dyn  Gpt
      -  -  -  -  -  -
      Disk 0    Online           93 GB      0 B
      Disk 1    Online         3911 MB      0 B

    (тут надо выбрать тот диск, который представляет собой флэшка — легко узнать по объему)

    DISKPART > select disk 1

    Disk 1 is now the selected disk.

    DISKPART > clean

    DiskPart succeeded in cleaning the disk.

    DISKPART > CREATE PARTITION PRIMARY

    DiskPart succeeded in creating the specified partition.

    DISKPART > SELECT PARTITION  1

    Partition 1 is now the selected partition.

    DISKPART > ACTIVE

    DiskPart marked the current partition as active.

    DISKPART > FORMAT FS=NTFS

      100 percent completed

    DiskPart successfully formatted the volume.

    DISKPART > ASSIGN

    DiskPart successfully assigned the drive letter or mount point.

    DISKPART > exit

    Leaving DiskPart…

    xcopy d:\*.* /s/e/f e:\

  • 19 февраля 2010 | 16:45 Восставливаем флэшки 

    Поиск нужной утилиты для восстановления работоспособности флеш-диска
    (краткий мануал)

    1) Определяем VID & PID флэш накопителя.
    2) iFlash тут ищем по vid или pid.
    3) проверяешь совпадение модели (емкость, производитель) с найденным. Если точно такого же PID не найдено, ищи в списке просто похожую модель — опять же, приоритет — производитель, ёмкость
    4) варианты:
    а) в подходящей строке в столбце «Утилита» есть ссылка на нужный файл — заходишь, качаешь
    б) в подходящей строке в столбце «Утилита» есть название утилиты — если в списке такое же в виде ссылки не присутствует — копируешь название, идешь в раздел Файлы, в окно поиска вводишь данное название — полностью или частями, если полностью не находит. Нашел? См. п. а) или в)
    в) в подходящей строке в столбце «Утилита» нет ничего — не повезло. См. комментарий () в том же столбце — там может быть дополнительная информация.
    5) скачал, распаковал, запустил.

    Теги: флэшка

  • 13 января 2010 | 18:32 DD-WRT в D-Link DIR-400 

    Краткое руководство по прошивке DD-WRT в D-Link DIR-400

    (По материалам http://www.shadowandy.net/2008/06/mini-flashing-guide-for-dir-400.htm и http://www.dd-wrt.com/wiki/index.php/Installation#D-Link_DIR-400)

    Перед тем, как приступить к загрузке, учтите, что:

    - загрузка сторонних прошивок лишает вас фирменной гарантии D-Link;
    - ни авторы руководств, ни переводчик не несут никакой ответственности за все, что может произойти с вашим устройством при выполнении нижеописанной процедуры.


    Что вам потребуется:

    - Файл linux.bin, который можно скачать из папки прошивки для DIR-400;
    - Сервер TFTP, который можно скачать оттуда же (или другой, например, PumpKIN);
    - PuTTY — телнет-клиент, который можно скачать с сайта http://www.putty.org/ (или другой; однако использование встроенного телнет-клиента Windows не рекомендуется). Распакуйте сервер и поместите его в папку по вашему выбору.
    (сложить все в одну папку).

    Соединение устройств

    1. Соедините сетевым кабелем сетевой разъем вашего компьютера и порт WAN (!) DIR-400. Однако если на маршрутизатор когда-либо устанавливалась бета оригинальной прошивки версии 1,02В07, что потребовало перепрошивки RedBoot, то маршрутизатор будет открывать 9000 порт на LAN интерфейсе и в данном случае компьютер нужно подключить к LAN соответственно. (Питание маршрутизатора пока не включайте.)
    2. Установите IP-адрес вашего компьютера 192.168.0.2 и маску подсети 255.255.255.0.

    Определение момента входа в телнет

    В отличие от DIR-300, у DIR-400 нет обходных способов входа в телнет. Старый фокус с нажатием и удержанием кнопки Reset дает вход не в телнет, а в веб-сервер аварийного восстановления. Нам придется определить, в какой момент следует входить в телнет, ибо временной интервал, в течение которого возможен такой вход, составляет всего лишь две секунды.

    1. Откройте окно командной строки.
    2. Выдайте команду непрерывного пингования DIR-400:
    ping —t 192.168.0.1
    3. Включите питание DIR-400.
    4. Определите, сколько времени прошло от момента включения питания до первого успешного пинга.

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

    Соединение с RedBoot

    Теперь, когда у нас есть результат предыдущего эксперимента, мы готовы соединиться телнетом с DIR-400. Процесс достаточно прост:

    - включите питание DIR-400;
    - запустите телнет-сессию на адрес 192.168.0.1 и порт 9000 через примерно то же время после включения, которое вы определили ранее (т.е. время от включения питания до первого успешного пинга).

    Может быть, вы сочтете нужным открыть несколько окон PuTTY и запускать соединение в каждом из них по очереди — какое-нибудь да соединится. Когда вы подключитесь к RedBoot, вы увидите на экране примерно следующее:

    == Executing boot script in 1,140 seconds — enter ^C to abort
    ^C
    RedBoot >


    Альтернативный способ подключения к RedBoot

    - подготовьте в PuTTY телнет-сессию на адрес 192.168.0.1 и порт 9000.
    - Откройте рядом с PuTTY окно командной строки и запустите в нем команду непрерывного пингования адреса 192.168.0.1
    ping 192.168.0.1 —n 9000 —t
    - Включите питание DIR-400, дождитесь второго успешного пинга и немедленно после этого запустите телнет-сессию.
    - Нажмите Ctrl-C, как только вы увидите на экране сообщение о выполнении бут-скрипта (если у вас PuTTY версии 0,60 или более поздней, то это необязательно).

    Запуск сервера TFTP

    Запустите сервер TFTP и положите файл linux.bin в его папку.

    Конфигурирование клиента PuTTY

    1. Щелкните правой кнопкой мыши по заголовку окна PuTTY.
    2. Выберите пункт «Change Setings…»
    3. В окне «PuTTY Reconfiguration» установите для параметра «Close window on exit» значение «Never».
    4. Нажмите кнопку «Apply» («Применить»)

    Загрузка DD-WRT

    В этом разделе описано, как загрузить прошивку DD-WRT в DIR-400. Помните, что некоторые команды требуют значительного времени (до 5 минут) для завершения. Поэтому НЕ ВЫКЛЮЧАЙТЕ устройство во время выполнения команд fis create.

    == Executing boot script in 0,130 seconds — enter ^C to abort

    ^C
    
RedBoot > ip_address —l 192.168.0.1/24 —h 192.168.0.2
    IP: 192.168.0.1/255.255.255.0, Gateway: 0.0.0.0
    Default server: 192.168.0.2
    
RedBoot > fis init
    
About to initialize [format] FLASH image system — continue (y/n)? y
    
*** Initialize FLASH Image System
And a descriptor for the configuration data size = 10000

    … Erase from 0xbffe0000—0xbfff0000: .

    … Program from 0×80ff0000—0×81000000 at 0xbffe0000: .
    
RedBoot > load —r —b 0x80041000 linux.bin
    
Using default protocol (TFTP)

    Raw file loaded 0×80041000—0×803cffff, assumed entry at 0×80041000
RedBoot > fis create linux
    
… Erase from 0xbfc40000—0xbffcf000: …………………………………………………

    … Program from 0×80041000—0×803d0000 at 0xbfc40000: …………………………………………………

    prog_ok
    
flash_addr = 0xbfc40000
    
mem_addr = 0×80041000
    
entry_addr = 0×80041000
    
length = 0×38f000
    
img_size = 0×38f000
    
… Erase from 0xbffe0000—0xbfff0000: .
    
… Program from 0×80ff0000—0×81000000 at 0xbffe0000: .
    
RedBoot > fconfig
    
Run script at boot: true
    
Boot script:
    
.. fis load —l vmlinux.bin.l7
    
.. go
    
Enter script, terminate with empty line
    
 > > fis load —l linux
    
 > > exec
    
 > >
    
Boot script timeout (1000ms resolution): 2
    
Use BOOTP for network configuration: false
    
Gateway IP address:
    
Local IP address: 192.168.0.1
    
Local IP address mask:
    
Default server IP address: 192.168.0.100
    
Console baud rate: 9600
    
GDB connection port: 9000
    
Force console for special debug messages: false
    
Network debug at boot time: false
    
Update RedBoot non-volatile configuration — continue (y/n)? y
    
… Erase from 0xbffe0000—0xbfff0000: .
    
… Program from 0×80ff0000—0×81000000 at 0xbffe0000: .
    
RedBoot > reset


    Теперь у вас новый DIR-400!
    ----------------------
    Краткое руководство по восстановлению оригинальной прошивки в DIR-400

    (По материалам http://dd-wrt.com/phpBB2/viewtopic.php?p=190818#190818)

    1. Прежде всего нам необходимы 2 файла: vmlinux.bin.l7 and rootfs (см. архив во вложении), а также Putty и любой tftp сервер.
    2. Помещаем vmlinux.bin.l7 and rootfs в корневую папку tftp сервера и стартуем его.
    3. Меняем ip адрес сетевой карты на 192.168.0.99 (или любой другой в диапазоне 192.168.0.2—192.168.0.254) и подключаем компьютер к WAN порту маршрутизатора (если на маршрутизатор когда либо устанавливалась бета оригинальной прошивки версии 1,02В07, что требовало перепрошивки RedBoot, то маршрутизатор будет открывать 9000 порт на LAN интерфейсе и в данном случае компьютер нужно подключить к LAN соответственно).
    4. Запускаем ping 192.168.0.1 —t.
    5. Запускаем Putty, выбираем тип соединения telnet. IP: 192.168.0.1, Port: 9000.
    6. Сбрасываем маршрутизатор включением-выключением питания.
    7. В окне командной строки наблюдаем за результатами пинга и сразу после второго успешного пинга устанавливаем соединение в Putty. Если соединение не установилось, закрываем сессию Putty и повторяем с 5 шага.
    8. Далее приведен лог Putty. Красным выделены команды, которые необходимо набрать в консоли Putty.

    =~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2008.07.08 23:40:49 =~=~=~=~=~=~=~=~=~=~=~=
    == Executing boot script in 0,060 seconds — enter ^C to abort
    ^C
    RedBoot > ip_address —h 192.168.0.99 нажмите Enter
    IP: 192.168.0.1/255.255.255.0, Gateway: 0.0.0.0
    Default server: 192.168.0.99
    RedBoot > fis init нажмите Enter
    About to initialize [format] FLASH image system — continue (y/n)? y нажмите Enter
    *** Initialize FLASH Image System
    And a descriptor for the configuration data size = 10000
    … Erase from 0xbffe0000—0xbfff0000: .
    … Program from 0x80ff0000—0x81000000 at 0xbffe0000: .

    RedBoot > load —r —b 0x80041000 vmlinux.bin.l7 нажмите Enter
    Using default protocol (TFTP)
    Raw file loaded 0x80041000—0x800d0fff, assumed entry at 0x80041000
    RedBoot > fis create vmlinux.bin.l7 нажмите Enter
    … Erase from 0xbfc40000—0xbfcd0000: ………
    … Program from 0x80041000—0x800d1000 at 0xbfc40000: ………
    prog_ok
    flash_addr = 0xbfc40000
    mem_addr = 0x80041000
    entry_addr = 0x80041000
    length = 0x90000
    img_size = 0x90000
    … Erase from 0xbffe0000—0xbfff0000: .
    … Program from 0x80ff0000—0x81000000 at 0xbffe0000: .
    RedBoot > load —r —b 0x80041000 rootfs нажмите Enter
    Using default protocol (TFTP)
    Raw file loaded 0x80041000—0x80350fff, assumed entry at 0x80041000
    RedBoot > fis create —l 0x310000 —f 0xbfcd0000 —e 0x00000000 —r 0xbfcd0000 rootfs нажмите Enter
    … Erase from 0xbfcd0000—0xbffe0000: ………………………………………….
    … Program from 0x80041000—0x80351000 at 0xbfcd0000: ………………………………………….
    prog_ok
    flash_addr = 0xbfcd0000
    mem_addr = 0xbfcd0000
    entry_addr = 0x0
    length = 0x310000
    img_size = 0x310000
    … Erase from 0xbffe0000—0xbfff0000: .
    … Program from 0x80ff0000—0x81000000 at 0xbffe0000: .
    RedBoot > fis list нажмите Enter
    Name FLASH addr Mem addr Length Entry point
    RedBoot 0xBFC00000 0xBFC00000 0x00030000 0x00000000
    Config 0xBFC30000 0xBFC30000 0x00010000 0x00000000
    vmlinux.bin.l7 0xBFC40000 0x80041000 0x00090000 0x80041000
    rootfs 0xBFCD0000 0xBFCD0000 0x00310000 0x00000000
    FIS directory 0xBFFE0000 0xBFFE0000 0x0000F000 0x00000000
    Calibration 0xBFFF0000 0xBFFF0000 0x00010000 0x00000000
    RedBoot > fconfig нажмите Enter
    Run script at boot: true нажмите Enter
    Boot script:
    .. fis load —l linux
    .. exec
    Enter script, terminate with empty line
    > > fis load —l vmlinux.bin.l7 нажмите Enter
    > > go нажмите Enter
    > > нажмите Enter
    Boot script timeout (1000ms resolution): 2 нажмите Enter
    Use BOOTP for network configuration: false нажмите Enter
    Gateway IP address: нажмите Enter
    Local IP address: 192.168.0.1 нажмите Enter
    Local IP address mask: нажмите Enter
    Default server IP address: 192.168.0.100 нажмите Enter
    Console baud rate: 9600 нажмите Enter
    GDB connection port: 9000 нажмите Enter
    Force console for special debug messages: false нажмите Enter
    Network debug at boot time: false нажмите Enter
    Update RedBoot non-volatile configuration — continue (y/n)? y нажмите Enter
    … Erase from 0xbffe0000—0xbfff0000: .
    … Program from 0x80ff0000—0x81000000 at 0xbffe0000: .
    RedBoot > reset нажмите Enter


    9. После перезагрузки мы получаем маршрутизатор с оригинальной прошивкой версии 1.0.
    10. Для дальнейшей работы с роутером рекомендуется в настройках сетевой карты установить автоматическое получение ip адреса.


    Источник

    Теги: dir-400 router dlink



Приобрести автомобиль туарег цена которого снижена на 11%.