Cramac Опубликовано 5 октября, 2015 · Жалоба у меня мало абонентов, поэтому не скажу, работает без проблем, лиза на сутки. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Liner's Опубликовано 5 октября, 2015 · Жалоба мало до 500? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 5 октября, 2015 · Жалоба коллеги, а этот самый сервер в бою кто нибудь гоняет? если да, какая нагрузка в количестве абонентов, и сколько времени стоит лиза? ~2.5k IPOE сессий, лиза 5 минут. Сервер работает железобетонно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pppoetest Опубликовано 5 октября, 2015 · Жалоба >3к, пару лет полёт нормальный. Ни единого разрывасегфолта. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Negator Опубликовано 5 октября, 2015 · Жалоба А зачем лиза 5 минут? Давайте ***ем базу? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 6 октября, 2015 · Жалоба А зачем лиза 5 минут? Давайте ***ем базу? А пофиг на базу, она развернута в виде slave на этом же NASе, с engine=memory. Т.е. сугубо местная и сугубо в памяти. Все для удобства клиента. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
OKyHb Опубликовано 6 октября, 2015 · Жалоба Поделюсь нашими графиками. Начали постепенно переводить клиентов на этот DHCP. lease-time - 1 час, mysql на другом сервере (вместе с биллингом). К-во клиентов точно не скажу, но 15k по ip unnumbered вечером есть. На графике - абсолютное к-во запросов за 5 минут. То есть, 15к запросов за 5 минут - это ~50 запросов в секунду. Пока проблем не замечено, всё работает. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pppoetest Опубликовано 6 октября, 2015 · Жалоба О, спасибо за идею, надо реализовать такой график. ))) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
wed Опубликовано 6 октября, 2015 · Жалоба Может подскажете - как у Вас такой график реализован? Если прям пример кода будет - вообще здорово... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
OKyHb Опубликовано 6 октября, 2015 · Жалоба График - по счётчикам iptables. Сейчас так: iptables: -N DHCP_CLIENTS -A DHCP_CLIENTS -m string --hex-string "|350103|" --algo bm --from 268 --to 301 -m comment --comment "DHCP Request" -j ACCEPT -A DHCP_CLIENTS -m string --hex-string "|350108|" --algo bm --from 268 --to 301 -m comment --comment "DHCP Inform" -j ACCEPT -A DHCP_CLIENTS -m string --hex-string "|350101|" --algo bm --from 268 --to 301 -m comment --comment "DHCP Discover" -j ACCEPT -A DHCP_CLIENTS -m string --hex-string "|350107|" --algo bm --from 268 --to 301 -m comment --comment "DHCP Release" -j ACCEPT -A DHCP_CLIENTS -m string --hex-string "|350104|" --algo bm --from 268 --to 301 -m comment --comment "DHCP Decline" -j ACCEPT -A DHCP_CLIENTS -j LANET -N DHCP_SERVER -A DHCP_SERVER -m string --hex-string "|63825363350105|" --algo bm --from 264 --to 271 -m comment --comment "DHCP Ack" -j ACCEPT -A DHCP_SERVER -m string --hex-string "|63825363350102|" --algo bm --from 264 --to 271 -m comment --comment "DHCP Offer" -j ACCEPT -A DHCP_SERVER -m string --hex-string "|63825363350106|" --algo bm --from 264 --to 271 -m comment --comment "DHCP Nack" -j ACCEPT -A DHCP_SERVER -j ACCEPT -A INPUT -p udp --dport 67 -j DHCP_CLIENTS -m comment --comment "DHCP clients" -A OUTPUT -p udp --sport 67 -j DHCP_SERVER -m comment --comment "DHCP server" cron: */5 * * * * root /sbin/iptables -nvxL DHCP_CLIENTS > /var/lib/zabbix/tmp/iptables.dhcp && /sbin/iptables -nvxL DHCP_SERVER >> /var/lib/zabbix/tmp/iptables.dhcp zabbix-agent: UserParameter=dhcp.counter[*],awk '/$1/ {print $$1}' /var/lib/zabbix/tmp/iptables.dhcp Хотя подозреваю, что есть клиенты, которые option 53 (message type) ставят с другим смещением. К примеру, у меня таких 197 неопознаных пакетов (за пару недель). Ну и DHCP_CLIENTS стоит перед стандартным "-m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT". Вообще, буду признателен, если кто подскажет, как улучшить мониторинг статистики :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pppoetest Опубликовано 6 октября, 2015 · Жалоба Омг, а я чуть перепилил сабж(всмысле перловый дхцп), буквально час назад, вот что вышло: Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Cramac Опубликовано 16 января, 2016 · Жалоба Всем привет. Обращусь к автору. Помоги, появился новый свитч, в нем 82 опция выглядит так OPTION: 82 ( 14) Relay Agent Information Circuit-ID 00:e1:00:16 Remote-ID 70:72:cf:74:9f:d4 до этого все свитчи отвечали так: OPTION: 82 ( 18) Relay Agent Information Circuit-ID 00:04:00:e1:01:06 Remote-ID 00:06:00:12:cf:48:d6:87 где поправить чтоб обрабатывать и тот и тот вариант? П.С. я так понимаю надо поправить sub GetRelayAgentOptions($$$$$) в этом месте: case 1 { # Circuit ID # first bytes must be: 00 04 $_[1] = unpack('n', substr($RelayAgent[($i+1)], 2, 2)); # may be 's' $_[2] = unpack('C', substr($RelayAgent[($i+1)], 4, 1)); $_[3] = unpack('C', substr($RelayAgent[($i+1)], 5, 1)); # как и ниже, надо вставить условие, если длинное, как есть, если короткая, то разобрать на влан и порт } case 2 { # Remote ID # first bytes must be: 00 06 or 01 06 $_[4] = FormatMAC(unpack("H*", substr($RelayAgent[($i+1)], 2, 6))); # тут я как понял вырезается первые два, надо добавить условие, если длинное - удаляем, если короткое - берем как есть } UPD: В общем вот что получилось: case 1 { # Circuit ID if (length($RelayAgent[($i+1)]) < 6) { logger("Circuit ID 4 = ".length($RelayAgent[($i+1)])); $_[1] = unpack('n', substr($RelayAgent[($i+1)], 0, 2)); # may be 's' $_[2] = unpack('C', substr($RelayAgent[($i+1)], 2, 1)); $_[3] = unpack('C', substr($RelayAgent[($i+1)], 3, 1)); } else { logger("Circuit ID 6 = ".length($RelayAgent[($i+1)])); # first bytes must be: 00 04 # for Circuit ID type = 00:04:00:e1:01:06 $_[1] = unpack('n', substr($RelayAgent[($i+1)], 2, 2)); # may be 's' $_[2] = unpack('C', substr($RelayAgent[($i+1)], 4, 1)); $_[3] = unpack('C', substr($RelayAgent[($i+1)], 5, 1)); } } case 2 { # Remote ID if (length($RelayAgent[($i+1)]) < 8) { logger("Remote ID 6= ".length($RelayAgent[($i+1)])); $_[4] = FormatMAC(unpack("H*", $RelayAgent[($i+1)])); } else { logger("Remote ID 8= ".length($RelayAgent[($i+1)])); # first bytes must be: 00 06 or 01 06 # for Remote ID type = 00:06:00:12:cf:48:d6:87 $_[4] = FormatMAC(unpack("H*", substr($RelayAgent[($i+1)], 2, 6))); } } Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 16 января, 2016 · Жалоба Обращусь к автору. Помоги, появился новый свитч, в нем 82 опция выглядит так А ты уверен что свитч присылает полный мак? tcpdump/dhcpdump что показывает? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Cramac Опубликовано 16 января, 2016 · Жалоба да, я выложил в посте выше, как старые свитчи шлют и как шлет новый. новый Circuit-ID пишет влан и порт в виде 00:e1:00:16 и в Remote-ID сразу мак 70:72:cf:74:9f:d4 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yarlan Zey Опубликовано 17 января, 2016 · Жалоба 3528m? забирайте с помощью substr длину мака с конца по влану и порту тоже с конца. не плодите лишние условия) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yarlan Zey Опубликовано 18 января, 2016 · Жалоба Винда XP Prof SP3 не хочет просить адреса DNS (отдавал дпже принудительно, см. ниже) ... Хотя в связке с Dlink DIR-615 все впорядке. мистика. Options : DHO_DHCP_MESSAGE_TYPE(53) = DHCPACK DHO_DHCP_SERVER_IDENTIFIER(54) = 91.1.1.2 DHO_ROUTER_DISCOVERY(31) = 0 DHO_VENDOR_ENCAPSULATED_OPTIONS(43) = \x01\x04\x00\x00\x00\x02\x02\x04\x00\x00\x00\x01\xFF DHO_NETBIOS_NODE_TYPE(46) = 8 (249) = \x16[\xCA\x08\xAC\x10\x02\x01 DHO_DHCP_LEASE_TIME(51) = 300 DHO_DHCP_RENEWAL_TIME(58) = 400 DHO_DHCP_REBINDING_TIME(59) = 500 DHO_SUBNET_MASK(1) = 255.255.255.0 DHO_ROUTERS(3) = 172.16.2.1 DHO_DOMAIN_NAME_SERVERS(6) = 1.2.3.4 DHO_DOMAIN_NAME(15) = kuku2.net DHO_ROUTER_DISCOVERY(31) = 0 DHO_VENDOR_ENCAPSULATED_OPTIONS(43) = \x01\x04\x00\x00\x00\x02\x02\x04\x00\x00\x00\x01\xFF DHO_NETBIOS_NODE_TYPE(46) = 8 (249) = \x16[\xCA\x08\xAC\x10\x02\x01 DHO_DHCP_AGENT_OPTIONS(82) = \x01\x06\x00\x04\x00\xCA\x00\x09\x02\x08\x00\x06\xF0}h5\xD1 padding [0] = как-нибудь победилось? принудительно отправлять не помогает( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 18 января, 2016 · Жалоба да, я выложил в посте выше, как старые свитчи шлют и как шлет новый. новый Circuit-ID пишет влан и порт в виде Нормальное решение. Хотя то что они шлют без типа и длины это ИМХО не правильно, написать им чтобы правили. как-нибудь победилось? принудительно отправлять не помогает( А там точно руками не прописаны днс? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yarlan Zey Опубликовано 18 января, 2016 · Жалоба точно. есть тестовой ноутбук и несколько абонентов. discover-offer-request-pack на этом общение с dhcp заканчивается. принудительное добавление dns не помогает. nextif тоже ничего не откидывает Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yarlan Zey Опубликовано 18 января, 2016 · Жалоба https://support.microsoft.com/ru-ru/kb/953761 решил проблему перестановкой опций) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 18 января, 2016 · Жалоба В общем вот что получилось: Проверяй, я тоже поправил. https://support.micr...ru-ru/kb/953761 решил проблему перестановкой опций) Вот нет чтобы накатить апдейты. Я когда писал/отлаживал тестил в том числе и на своём нетбуке, там ХР была, но с патчами. Тоже попробуй исправленную. Ещё по мелочам форматирование поправил. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yarlan Zey Опубликовано 19 января, 2016 · Жалоба накатить апдейты всем абонентам? не лучший путь... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dimic Опубликовано 17 марта, 2016 (изменено) · Жалоба Немного мимо кассы, но подскажите как сделать каунтеры dhcp запросов для ipfw по типам? Может есть готовый пример? Я так понял, что без ng_ipfw b ng_bpf точно не обойтись? Конвертнул вырежения в bpf код: DHCPDISCOVER udp port 67 and udp[247:4] = 0x63350101 bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418049 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] DHCPOFFER udp port 67 and udp[247:4] = 0x63350102 bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418050 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] DHCPREQUEST udp port 67 and udp[247:4] = 0x63350103 bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418051 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] DHCPDECLINE udp port 67 and udp[247:4] = 0x63350104 bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418052 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] DHCPACK udp port 67 and udp[247:4] = 0x63350105 bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418053 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] DHCPNAK udp port 67 and udp[247:4] = 0x63350106 bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418054 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] DHCPRELEASE udp port 67 and udp[247:4] = 0x63350107 bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418055 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] DHCPINFORM udp port 67 and udp[247:4] = 0x63350108 bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418056 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] Осталось связать с ipfw. Изменено 17 марта, 2016 пользователем Dimic Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 17 марта, 2016 · Жалоба Видимо да, придётся матчить по оффсетам. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dimic Опубликовано 17 марта, 2016 · Жалоба А как-нибудь можно модернизировать вот это, чтобы не создавать потом 8 правил в файрволе? Я не силен в netgraph, к сожалению. ngctl mkpeer ipfw: bpf 1 main ngctl mkpeer ipfw: bpf 2 main ngctl mkpeer ipfw: bpf 3 main ngctl mkpeer ipfw: bpf 4 main ngctl mkpeer ipfw: bpf 5 main ngctl mkpeer ipfw: bpf 6 main ngctl mkpeer ipfw: bpf 7 main ngctl mkpeer ipfw: bpf 8 main ngctl name ipfw:1 dhcp_discover ngctl name ipfw:2 dhcp_offer ngctl name ipfw:3 dhcp_request ngctl name ipfw:4 dhcp_decline ngctl name ipfw:5 dhcp_ack ngctl name ipfw:6 dhcp_nak ngctl name ipfw:7 dhcp_release ngctl name ipfw:8 dhcp_inform #DHCPDISCOVER #udp port 67 and udp[247:4] = 0x63350101 ngctl msg dhcp_discover: setprogram { thisHook=\"main\" ifMatch=\"main\" ifNotMatch=\"main\" bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418049 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] } #DHCPOFFER #udp port 67 and udp[247:4] = 0x63350102 ngctl msg dhcp_offer: setprogram { thisHook=\"main\" ifMatch=\"main\" ifNotMatch=\"main\" bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418050 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] } #DHCPREQUEST #udp port 67 and udp[247:4] = 0x63350103 ngctl msg dhcp_request: setprogram { thisHook=\"main\" ifMatch=\"main\" ifNotMatch=\"main\" bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418051 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] } #DHCPDECLINE #udp port 67 and udp[247:4] = 0x63350104 ngctl msg dhcp_decline: setprogram { thisHook=\"main\" ifMatch=\"main\" ifNotMatch=\"main\" bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418052 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] } #DHCPACK #udp port 67 and udp[247:4] = 0x63350105 ngctl msg dhcp_ack: setprogram { thisHook=\"main\" ifMatch=\"main\" ifNotMatch=\"main\" bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418053 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] } #DHCPNAK #udp port 67 and udp[247:4] = 0x63350106 ngctl msg dhcp_nak: setprogram { thisHook=\"main\" ifMatch=\"main\" ifNotMatch=\"main\" bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418054 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] } #DHCPRELEASE #udp port 67 and udp[247:4] = 0x63350107 ngctl msg dhcp_release: setprogram { thisHook=\"main\" ifMatch=\"main\" ifNotMatch=\"main\" bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418055 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] } #DHCPINFORM #udp port 67 and udp[247:4] = 0x63350108 ngctl msg dhcp_inform: setprogram { thisHook=\"main\" ifMatch=\"main\" ifNotMatch=\"main\" bpf_prog_len=19 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=15 jf=0 k=96 } { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=12 k=64 } { code=48 jt=0 jf=0 k=9 } { code=21 jt=0 jf=10 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=8 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } { code=72 jt=0 jf=0 k=0 } { code=21 jt=2 jf=0 k=67 } { code=72 jt=0 jf=0 k=2 } { code=21 jt=0 jf=3 k=67 } { code=64 jt=0 jf=0 k=247 } { code=21 jt=0 jf=1 k=1664418056 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] } Может при помощи one2many навешать хуков? Сейчас счетчики работают конечно, но реализация.. DISCOVER: 1 OFFER: 1 REQUEST: 4 DECLINE: ACK: 4 NAK: RELEASE: INFORM: Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 17 марта, 2016 · Жалоба Издеваешься? http://www.netlab.linkpc.net/wiki/ru:software:freebsd:igmpproxy_on_netgraph вот тут как из tcpdump делать вот такой вот асм, на tcpdump тренируешься и потом получаешь программу для бпф на асме. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...