2016-06-03 2 views
1

У меня есть файл pcap, который со временем растет на сервере, в который я могу войти. То, что я хочу сделать что-то вроде этого:Как запускать хвост в файле pcap удаленно?

ssh [email protected] tail -f -c +0 /path/to/pcapfile | wireshark -k -i 

Этой команда возвращает ошибку, указывающую, что PCAP файл я указал не может быть найден (он существует).

Я также попытался

wireshark -k -i - < (ssh [email protected] "tail -f -c +0 /path/to/pcapfile") 

Ни одна из этих работ. Я хочу использовать удаленную команду хвоста для отображения пакетов, которые транслируются в реальном времени из растущего файла pcap на сервере. Как мне это сделать? Заранее спасибо.

+0

Вы пробовали '-t'? Подобно этому 'ssh -t x @ y tail -f -c +0/path/to/pcapfile | wireshark -k -i' – Stack

+0

Да, я попробовал, это говорит о непризнанном формате libpcap. Я также проверил версии wirehark как на моей машине, так и на сервере, оба они одинаковы. – user3799658

+2

Действительно ли команда 'tail' на вашей системе работает на двоичных файлах? Файлы pcap не являются текстовыми файлами. –

ответ

0

Это происходит потому, что tail не знает, где начинается пакет и где он заканчивается. Тот факт, что он работает локально, скорее всего, просто совпадение: пакеты поступают со скоростью, достаточно медленной для tail, чтобы отправить их по отдельности в wireshark через трубу.

С другой стороны, это не проблема, с которой другие люди не сталкивались раньше. Anton Berzin писал pcaptail, который является инструментом, вы, вероятно, ищете:

Он (pcaptail) будет вести себя как хвост -f, но на уровне отдельных пакетов

pcaptail это очень маленькая программа : менее 300 строк кода, и вам нужны только заголовки libpcap и libpcap, чтобы их скомпилировать.

Смежные вопросы