Как резолвить имена (pfSense + LightSquid + IPCad)?

В этой связке прокси собирает практически всю статистику.
Но парсер LightSquid не справляется с резолвом имен которые кидает IPCad.
И в статистике у пользователя получается каша из данных:

1	173.194.122.239:443\tcp	11	1.4 M	1.4 M	15.4%
2	104.25.162.28:443\tcp	9	716 525	2.1 M	7.3%
3	173.194.32.160:443\tcp	9	544 255	2.6 M	5.6%
4	www.lissyara.su	12	523 223	3.1 M	5.3%
5	www.thin.kiev.ua	40	464 297	3.6 M	4.7%
6	s7.addthis.com	   10	440 342	4.0 M	4.5%
7	habracdn.net	21	306 925	4.3 M	3.1%
8	208.123.73.18:443\tcp	2	279 189	4.6 M	2.8%
9	servisator.ru	53	278 953	4.8 M	2.8%
10	178.32.56.181:443\tcp	4	263 000	5.1 M	2.7%
11	173.194.32.143:443\tcp	9	236 346	5.3 M	2.4%
12	178.248.232.25:443\tcp	4	220 188	5.5 M	2.2%
13	shop.nativepc.ru	20	206 940	5.7 M	2.1%
14	173.194.32.152:443\tcp	7	204 810	5.9 M	2.1%
15	173.194.32.175:443\tcp	7	192 967	6.1 M	1.9%


Задача состоит в том что бы резолвить наиболее часто попадающиеся имена.
Например IP адреса начинающиеся с 173 это Google поиск.

В парсере Lightsquid не нашел ничего кроме группировки.

Товарищи знающие подскажите как выйти из ситуации? Устраивает любой метод: ручной и автоматический.

Всем спасибо.
  • Вопрос задан
  • 2718 просмотров
Решения вопроса 1
@misant
SysAdOps
Надо заменить содержимое файла /usr/local/sbin/tolog.sh на следующее: (где net="192.168.0" задает нужный шаблон внутренней сети, также потребуется установить в систему dig, новый резолвер не умеет отдавать короткий формат, для этого выполнить pkg install bind-tools)

#!/bin/sh
rez2=""
#REZ="q"
iptoname ()
{
rez2=$1
REZ=$(/usr/local/bin/dig @172.16.185.1 -x $1 +short)
# dig @ use your DNS server
# echo "REZ - $REZ - $1"
if [ -z $REZ]
then
{
# echo
}
else
{
rez2=$REZ
}
fi
}

net="192.168.185"
#net = your local net
ttime=`/usr/bin/rsh localhost sh ip acco | /usr/bin/grep 'Accounting data saved' | /usr/bin/awk '{print ($4)}'`
/usr/bin/rsh localhost clear ip accounting
/usr/bin/rsh localhost show ip accounting checkpoint | /usr/bin/grep $net > /root/tolog.txt

while read p1 p2 p3 p4 p5 p6 p7 p8
do
#
if [ "$p5" != "0" ]
then
rez2=""
iptoname "$p1"
echo "$ttime.000" 1 $p2 "TCP_MISS/200" $p4 "CONNECT" $rez2:"$p5 "-" "DIRECT/"$p1" -"" >>/var/squid/logs/access.log
# echo "$vtime.000" 1 $p2 "TCP_MISS/200" $p4 "CONNECT" $rez2:"$p5 "-" "DIRECT/"$p1" -"" >>/var/squid/logs/access.log
else
fi
done < /root/tolog.txt
chown proxy:proxy /var/squid/logs/access.log

exit 0
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@awe007
А как быть в этом случае?

[2.2.4-RELEASE][root@x.hostname.ru]/root: pkg install bind-tools
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
pkg: No packages available to install matching 'bind-tools' have been found in the repositories
[2.2.4-RELEASE][root@x.hostname.ru]/root:


И что за IP 172.16.185.1 в скрипте выше?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы