Я пытаюсь записать результаты tcpdump в текстовый файл. Мне не интересно сохранять файл pcap для дальнейшего использования, мне просто нужно то, что tcpdump возвращает в виде обычного текста (ips и временные метки соединений).
Я попробовал это, но, похоже, это не работает:
tcpdump port 5000 and '(tcp-syn)!=0' > network_output.txt
Эта команда должна сохраняться в текстовый файл, но вместо этого она выводит вывод прямо в терминал, как будто я его отключил > network_output.txt
.
решение1
Какую операционную систему и оболочку вы используете? (Ваша команда отлично работает на моей системе.)
Попробуйте tcpdump port 5000 and '(tcp-syn)!=0' &> network_output.txt
(обратите внимание &>
вместо >
) и посмотрите, сделает ли это то, что вам нужно. Он объединяет стандартный вывод с выводом ошибок в один файл. Хотя он называется выводом ошибок, этот второй поток вывода часто используется для вывода, предназначенного для интерактивного терминала, например, для информации о ходе выполнения.
Если это не сработает, попробуйте:
script network_output.txt
tcpdump port 5000 and '(tcp-syn)!=0'
затем Ctrl-C для выхода tcpdump
и Ctrl-D для выхода script
. Вы получите дополнительный мусор в файле, но он также будет содержать весь вывод терминала.