LINUX.ORG.RU
ФорумAdmin

Роутер. Писать лог посещенных сайтов клиентами

 , ,


0

1

Здраствуйте
Стоит задача писать в лог посещенные клиентами сайты.
Сервер это роутер Asus rt-n66u. Достаточно знать какой ip на какой ip. ходит. Веб морда не нужна.
В принципе могу проинсталировать пакет, но вопрос какой?

Я пробовал
netstat -antup
но в обычном линуксе вывод человеческий,
В роутере фигня, ключ -р он не знает
Куда рыть?

Прошивка merlin последняя для моей модели


Когда начал читать, думал, что понял про что речь. Но дочитав до netstat споткнулся. Мне не понятно, какой вывод от netstat вы ожидали получить на маршрутизаторе? Да ещё с ключём ″u″ (udp), если речь идёт о сайтах, а не о DNS/торрентах.

Ну если достаточно только ip и вы готовы сами разгребать данные, то создайте в iptables ″-j LOG″ правило, которое будет записывать все исходящие tcp-пакеты с состоянием ″NEW″. Но не понятно, на чём в хотите это обрабатывать, данных будет много, их обычно складывают в БД, но не будете же вы ставить на Asus какую-нибудь СУБД?

mky ★★★★★
()

прокся тебе нужна прозрачная. но не уверен что на роутер ее можно поставить.

Komintern ★★★★★
()

Стоит задача писать в лог посещенные клиентами сайты.

Сервер это роутер

Asus rt-n66u

Он сдохнет от этого. Ну или, интерфейс будет забит под завязку логами.

Посмотрите в сторону transparent proxy.

robot12 ★★★★★
()
Ответ на: комментарий от mky

Вот с iptables прошу уточнить. Грэпать и искать я умею, удалять все что свыше 1000 строк или по крону тоже смогу. Да хоть в архив... Меня интересует только кто с кем соединялся, (Если будет легко, добавлю еще - когда соединялся). Вся остальная статистика не будет записываться
Будьте добры, бросьте линк на инструкцию iptables ″-j LOG″ правило/мануал на любом языке. С ходу не нарыл

dromer
() автор топика
Ответ на: комментарий от robot12

Он сдохнет от этого. Ну или, интерфейс будет забит под завязку логами

Нет, не сдохнет, нагрузка на него в принципе не большая, логи я могу хранить подсоединив к ЮСБ диск или флешку любого размера. Удаление, архивирование мне тоже помогут. Запись будет лишь факта установления соединения

dromer
() автор топика

tcpdump можно поставить и писать в лог первые 50-60 байт от IP пакетов, чтоб заголовки HTTP запросов сохранялись

Harald ★★★★★
()
Ответ на: комментарий от robot12

Он сдохнет от этого. Ну или, интерфейс будет забит под завязку логами.

Наверняка можно заставить iptables гнать лог на отдельную машину. Префикс, netcat, вывод в файл сокета вместо /var/log/messages.

shatsky ★★
()
Ответ на: комментарий от dromer

man iptables. Базовое правило будет что-то типа этого:

iptables -I FORWARD --ctstate NEW -j LOG

Это будет логирование попыток установления соединения (то есть кто и куда пытался подключиться, но не факт, что получилось).

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

iptables -I FORWARD -m connbytes 1:1 --connbytes-dir reply --connbytes-mode packets -j LOG

но не знаю, есть ли у вас connbytes в iptables.

Ну далее можно давать этим правилам дополнительные условия, чтобы, допустим, только tcp-протокол... Но, это именно будут ip-адреса, а не URL.

Ну и там указываете log-level и настраиваете запись логов в отдельный файл или по сети http://unix.stackexchange.com/questions/96484/how-can-i-configure-syslog-conf...

mky ★★★★★
()

задача выглядит неадекватно, но мне нравится вариант с tcpdump, ибо можно гибко настроить фильтры и ротацию

zolden ★★★★★
()
Ответ на: комментарий от shatsky

Наверняка можно

Можно, но вот вопрос нужно ли ?

robot12 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.