Как я удаляю персистентные данные конфигурации из APT?

Я могу думать о двух дополнительных опциях, которые не требуют парсинга журналы BIND или вмешательства с BIND вообще.

1) Зеркальное отражение порта - копирует пакеты и отправляет их в отдельный порт, где приложение слушает, анализируя запросы DNS и принятие мер. dpkt или scapy или подобные пакетные библиотеки обработки помогут Вам проанализировать необработанные запросы.

2) Используйте некоторый тип пакетной библиотеки сниффинга для пассивного контроля запросов. Вот использование в качестве примера scapy:

from scapy.all import *

def handler(req):
    if req.haslayer(DNS) and req.getlayer(DNS).qr == 0:
        ip = req.getlayer(IP)
        dns = req.getlayer(DNS)

        q = dns.qd
        print q.qname # simply print domain name


if __name__ == '__main__':
    sniff(iface="eth0", filter="udp and port 53", prn=handler, store=0)

Очевидно, это - просто примитивный пример. Это только печатает название домена, который был запрошен, но можно, конечно, добавить много логики. При ссылке на scapy документацию, Вы найдете, что все поля из запроса DNS легко доступны.

4
03.06.2013, 23:29
2 ответа

Хорошо, я смог найти свое собственное решение (иронически), потому что Gilles не объяснялся правильно и заставлял меня исследовать его загадочные комментарии.

Шаг 1: использовать dpkg -L $package или диалоговое окно Свойств Synaptic для нахождения файла, который не стал очищенным с остальной частью пакета. Я не знаю, почему файл не мог бы быть очищен правильно, но это - то, что вызывает эту проблему. В моем случае это был/etc/avserver.conf.

Шаг 2: установите незаконный пакет. Таким образом, диспетчер пакетов будет думать, что решил саму проблему.

Шаг 3: выполненный sudo rm $offendingfile удалить файл, что диспетчер пакетов не хочет.

Шаг 4: произведите чистку пакета снова. Все диспетчеры пакетов распознают, что ничто не остается, потому что всего действительно не стало на этот раз.

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

3
27.01.2020, 20:52

Это должно сделать задание:

dpkg --purge $PACKAGE
3
27.01.2020, 20:52
  • 1
    dpkg: warning: ignoring request to remove libav-utils which isn't installed –  Wutaz 03.06.2013, 05:17
  • 2
    @Wutaz, Если Вы получаете то сообщение, затем пакет, уже очищен (un в dpkg -l вывод). Нет никаких разбросанных файлов конфигурации. Что заставляет Вас думать libav-utils все еще вокруг? –  Gilles 'SO- stop being evil' 03.06.2013, 11:55
  • 3
    То, что это. Прочитайте мой соответствующий комментарий вместо того, чтобы игнорировать его. –  Wutaz 03.06.2013, 22:22
  • 4
    @Wutaz извините я посмотрел на Ваш комментарий, и не понимайте это. Если это очищено, никакие конфигурационные файлы не оставлены позади. В нормальном случае файлы, отмеченные как конфигурация, оставляют в системе. –  Ulrich Dangel 03.06.2013, 23:23
  • 5
    Вот почему я задаю этот вопрос: существует незначительный сбой. Чистка является действием. Просто, потому что это не работало, не означает, что этого никогда не происходило. –  Wutaz 03.06.2013, 23:30

Теги

Похожие вопросы