|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Eugene B. Berdnikov 2:5020/400 01 Apr 2005 16:21:08 To : Eugene Grosbein Subject : Re: arp -------------------------------------------------------------------------------- Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote: EG> Линукс видит ответы. Более того, при добавлении алиаса на FreeBSD EG> она (без всякого arping) сама один раз посылает такой arp-request EG> для обновления кеша соседей и Linux его видит: EG> EG> tcpdump -e -n -i eth0 arp EG> tcpdump: listening on eth0 EG> 18:31:46.460580 0:c:f1:b8:ce:86 Broadcast arp 60: arp who-has 213.184.64.3 EG> tell 213.184.64.3 EG> 18:31:46.460600 0:c:f1:b8:ce:86 0:3:47:32:f0:9a arp 60: arp reply EG> 213.184.64.3 is-at 0:c:f1:b8:ce:86 EG> 18:31:46.867541 0:c:f1:b8:ce:86 0:3:47:32:f0:9a arp 60: arp reply EG> 213.184.64.3 is-at 0:c:f1:b8:ce:86 EG> 18:31:48.861133 0:c:f1:b8:ce:86 0:3:47:32:f0:9a arp 60: arp reply EG> 213.184.64.3 is-at 0:c:f1:b8:ce:86 Хм... В общем, похоже на то, что делается в редхатах-7.х (у меня нет ASPlinux под рукой, но там, думаю, аналогично). Кусок из ifup: # update ARP cache of neighboring computers arping -q -A -c 1 -I ${REALDEVICE} ${IPADDR} ( sleep 2; arping -q -U -c 1 -I ${REALDEVICE} ${IPADDR} ) > /dev/null 2>&1 \ < /dev/null & Это сначала один пакет arp-reply, а через 2 секунды - arp-request с oчень похожим содержимым пакетов. EBB>> У линукса первые посылки идут с интервалом в секунду, регулируется, EBB>> по-моему, в neigh.<if>.retrans_time (в jiffies). EG> EG> net.ipv4.neigh.eth0.retrans_time = 100 Да, секунда для ядер 2.4.x на x86. EBB>> везде log_martians=1 (по всем интерфейсам), и посмотреть, нет ли чего EBB>> подозрительного в логе на уровне kern.debug. EG> EG> log_martians какой эффект имеет? Запись в лог о приходе пакетов с неправильными, с точки зрения ядра, адресами. Hапример, из сети 127.0.0.0/8 на нормальных интерфейсах, юникастовыми адресами в пакетах с бродкастовым dst_mac и тому подобным. EG> Ребутнули, не помогло. ОК. По-моему, круг подозреваемых сужается. :) Вероятнее всего, запросы шлёт не адаптер, и не само ядро (хотя загадка с невидимостью этих запросов через линуксовый tcpdump остаётся). Думаю, надо искать программу, которая работает через PF_PACKET. Программа эта либо запускается каждые две секунды, либо сидит где-то резидентно. Если резидентно, надо глянуть в /proc/net/packet, там регистрируются пакетные сокеты. Если непусто - надо искать владельца, через lsof, или пробежавшись по всем процессам и посмотрев /proc/<pid>/fd/*. Есть замечательный тул "ss" от ANK, запускать так: "ss -ap -A packet", название процесса, pid, и номер открытого сокета будут сразу выданы. Правда, в ASP может его не быть, тогда можно стянуть из пакета iproute на ближайшем дебиане, или взять http://sirius.ihep.su/~berd/ss (бинарий). По ключу --help он расскажет про свои возможности. Если в /proc/net/packet пусто, значит, либо сокет открывается перед отправкой пакета, и сразу закрывается, либо программа запускается каждые две секунды. Возможные пути: 1. переименовать arping, раз уж есть подозрение на него - execve() должен обломиться, 2. повесить цикл с мониторингом /proc/net/packet, задрать приоритет - будет большая вероятность того, что открытый сокет попадётся через некоторое время, 3. если в ядре есть process accounting, включить его через pacct, насколько я помню, там была возможность регистрировать exec'и. 4. просмотреть список процессов, на подозрительные натравить strace -f -e execve,sendto (только учтите, что где-то в районе ядер 2.4.17-2.4.20 была вредная фича - процесс останавливался при PTRACE_DETACH, надо было ему делать kill -CONT). Можно ещё убрать на время дирьку /etc/sysconfig/network-scripts, это исключит периодически запускающиеся скрипты. Да, и обязательно надо посмотреть выдачу "lsof -n -i@213.184.64.3", вдруг баг плавает мелко и попадётся на удочку сразу. :) -- Eugene Berdnikov --- ifmail v.2.15dev5.3 * Origin: Institute for High Energy Physics, Protvino, Russia (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/3651902a5f33.html, оценка из 5, голосов 10
|