У меня есть 2 машины M1 и M2, работающий на Debian 8.0, расположенном в 2 удаленных сетях N1 и N2
M1 получает пакеты continuousl в N1 и имеет известный статический IP.
M2 получает доступ к получению удаленно от N2 путем соединения с M1.
Каков наиболее распространенный способ выполнения удаленного получения и реализации этой системы?
Единственное решение, которое я имею теперь, состоит в том, чтобы использовать простой канал dumpcap для openssl
и затем netcat
:
На M1
tshark -w - | openssl enc -des3 | nc -l 1234
На M2
nc <M1 IP> 1234 | openssl enc -d -des3 > capture.pcap
Я все еще не могу понять это, как сделать это с ssh
.
Я обычно использую tcpdump
, чтобы сделать захваты пакетов:
tcpdump -s0 -w </path/to/save/file>.pcap "<PCAP FILTER>"
, где <PCAP_FILTER>
Ваш запрос, такой как host 192.168.86.1
для получения пакетов к/от 192.168.86.1
. Все аргументы в пользу этого могут быть найдены в поиске или взгляде в страницах справочника, полученных с man pcap-filter
.
Это получит весь пакет вместо просто заголовков с -s0
. Не используйте этот аргумент в пользу продолжительных получений, поскольку файл станет большим.
Предположите, что tcpdump установлен на M1, Вы можете к ssh сказать user
в M1, и user
позволяется для sudo
в M1. Затем Вы могли сделать
ssh user@M1 'sudo /usr/sbin/tcpdump "PCAP FILTER"'
# will give you text output
ssh user@M1 'sudo /usr/sbin/tcpdump -w - "PCAP FILTER"' > /path/to/file.pcap
# will save binary output to .pcap file
, необходимо сделать "ФИЛЬТР PCAP" так, чтобы M2 был исключен из дампа; иначе соединение M2-> M1 зарегистрировано также. Вас попросят пароля пользователя на M1, или можно пройти проверку подлинности открытым ключом, зависит от ssh конфигурации M1.
Или, с помощью tshark, поскольку Вы попросили:
ssh user@M1 'sudo /path/to/tshark -R <filter> -w -' > capture.pcap
Для 'фильтра', то же содержит как выше.