Это работает:
tethereal -i eth0 -w /root/mycapture.pcap
но он захватывает каждый пакет. Мне нужно захватывать только DNS-запросы. Это возможно? Сервер — Linux.
Другой вопрос: возможно ли сохранить файл по сети на другом компьютере? На сервере есть только небольшой жесткий диск, который недостаточно велик для файла захвата.
Спасибо.
решение1
Укажите фильтр захвата, используя-f "port 53"
.
Примечание: это tshark
сейчас, а не tethereal
больше.
Чтобы выполнить локальный захват, но сохранить данные на удаленном сервере, используйте -
или /dev/stdout
в качестве выходного файла и передайте команду по конвейеру ssh
:
tshark -i eth0 -f "port 53" -l -w - | ssh otherhost "cat > foo.pcap"
tcpdump -i eth0 -f "port 53" -l -w - | ssh otherhost "cat > foo.pcap"
Вы также можете сделать наоборот — захватить данные на удаленном сервере, но сохранить их локально:
ssh otherhost "tshark -i eth0 -f "port 53" -l -w -" > foo.pcap
ssh otherhost "tcpdump -i eth0 -f "port 53" -l -w -" > foo.pcap
Примечание:Всегдаукажите фильтр захвата при сохранении данных таким образом. Если вы этого не сделаете, каждый пакет будет вызывать бесконечный цикл.