Выполнение tcpdump, мишень и scp

У меня было подобное требование приблизительно шесть месяцев назад. Прежде всего, потому что я работал через SSH весь день. Как был уже предложен, используйте экран GNU. Ее довольно ужасное (по моему скромному мнению), прямо после установки его. Однако! Это высоконастраиваемо через .screenrc файл. Существует много учебных руководств онлайн, которые предоставляют код, который можно вырезать и вставить для получения его, как Вам нравится.

Я пошел, насколько соединить несколько сценариев для установки такой среды - MALiCE - 'Моя Потрясающая Среда программирования Linux'. Его доступное на GitHub здесь:

MALiCE

Это также документирует сочетания клавиш партий, а также образец .muttrc и .screenrc файлы - которые являются установкой для работы с вещами как Gmail.

Отметьте не прекрасный, но это может сэкономить Вам некоторое время и усилие взглянуть на некоторые файлы конфигурации и сценарии. Существует сильная предвзятость энергии.

Я также рекомендовал бы программы, такие как cmus (основанный на тексте медиаплеер - довольно хороший) и дурак (почтовый клиент - снова настроенный через текстовый файл .muttrc). Существуют также основанные на тексте клиенты IRC и хотите верьте, хотите нет, основанные на тексте видеодекодеры, которые превратят видео в ASCII - немного экстремального значения, но каждый к их собственному.

Если Вы не хотите рабочего стола вообще затем существует число вариантов. Например, Вы могли установить slackware, который, если я помню правильно начальные загрузки к интерфейсу командной строки. Необходимо стараться изо всех сил запускать GUI.

3
24.10.2013, 02:10
3 ответа

tee управляйте данными записей к выходному файлу, поскольку это получает его, но scp копирует файл сразу и только копирует его однажды. Так как каждая команда в конвейере работает одновременно (или почти так), Вы только получаете некоторых (или не) пакетный вывод в файл capture.txt, прежде чем файл будет скопирован scp.

Существует пара способов сделать то, что Вы, кажется, хотите сделать.

Если Вы хотите скопировать несколько пакетов с tcpdump, и затем передайте файл удаленному хосту после того, как он заканчивается, можно использовать -c опция завершиться tcpdump после того, как это получает то количество пакетов. Разделите Ваш scp команда от конвейера с помощью полу двоеточия, таким образом, это выполняется после tcpdump и tee завершенные команды:

tcpdump -l -c 10  | tee  /tmp/capture.txt; scp /tmp/capture.txt root@remotehost:/tmp

Или, если Вы хотите видеть пакеты в режиме реального времени и также скопировать их в в реальном времени, Вы могли бы использовать tee для вывода пакетов к/dev/tty, таким образом, Вы видите их и их, передают их по каналу в ssh команда, которая пишет им в файл на удаленном хосте:

tcpdump -l   | tee /dev/tty | ssh root@remotehost "cat > /tmp/capture.txt"

Отметьте это без -c опция здесь, tcpdump будет работать, пока Вы не уничтожите ее.

Если бы Вы хотели пакеты, сохраненные в локальном файле capture.txt, а также удаленном, то Вы могли использовать несколько tee команды:

tcpdump -l   | tee /tmp/capture.txt | tee /dev/tty | ssh root@remotehost "cat > /tmp/capture.txt"
4
27.01.2020, 21:10
  • 1
    я только что заметил проблему. Файл capute.txt, который отправляется в удаленный хост на втором выполнении tcpdump, увеличен вместо замененного... Как я преодолеваю это? –  bulkmoustache 24.10.2013, 04:06
  • 2
    я не уверен, какую из командных строк я, если Вы используете, но ни один из них, должен добавлять в файл. "мишень" перезапишет выходной файл с каждым выполнением, и">" оператор также перезапишет файл. Можно ли предоставить больше подробную информацию? Вы работаете на Linux? –  Johnny 24.10.2013, 04:35
  • 3
    Да, я запускаю Linux Debian. Я использую: tcpdump-l | кладут/dev/tty для первого удара | ssh root@remotehost "кошка> /tmp/capture.txt", я попытался "повторить/dev/null> получение" и "комната" capture.txt, но ни один из них не работает = \, файл на удаленном хосте продолжает увеличивать... –  bulkmoustache 24.10.2013, 05:17
  • 4
    Действительно ли возможно, что у Вас есть одна из команд, работающих в фоновом режиме или в другом окне терминала? –  Johnny 24.10.2013, 05:26
  • 5
    нет = \я пытаюсь "зафиксировать" это с чем-то вроде этого: кошка> /home/checker/temp.txt | CP /home/checker/temp.txt /home/checker/capture.txt | эхо "" /home/checker/temp.txt, последняя часть должна удостовериться temp.txt, стирается и на следующем tcpdump повторении, это не увеличено, но вместо этого записано как совершенно новый файл. Но до сих пор, это не работает (угадайте, что CP не работает правильно). Какой-либо ideias для копирования содержания файла в другого? –  bulkmoustache 24.10.2013, 05:43

Не гарантируется, что мишень закончила писать capture.txt, когда scp читает его. То, что Вы могли сделать, использовать stdout мишени и передать его по каналу через ssh как это:

tcpdump -l -X -i eth1 -n tcp port <port> | tee capture.txt | \
  ssh root@10.3.3.227 'cat > /home/checker/capture.txt'
3
27.01.2020, 21:10

Я думаю, что проблема здесь состоит в том, что файл Вы копируете через scp копируется в момент вовремя и не непрерывно, таким образом, Вы заканчиваете с фрагментом содержания того файла на сервере 10.3.3.227.

Попробуйте это вместо этого:

$ sudo tcpdump -l -X -i eth1 -n <tcp port> | tee capture.txt | \
    ssh root@10.3.3.227 'cat > /home/checker/capture.txt
2
27.01.2020, 21:10

Теги

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