Связь между двумя сетями через общий файловый ресурс - PullRequest
0 голосов
/ 09 декабря 2018

Моя проблема заключается в в том, что у меня есть два компьютера в разных сетях, которые могут «обмениваться данными» только через общий файловый ресурс, установленный в обеих системах (обычно это сервер Windows SMB на стороннем хосте).Все остальные порты заблокированы!Я хотел бы использовать этот общий файловый ресурс для прямой связи между этими двумя машинами.Я root на обеих машинах, на них можно использовать Windows или Linux.Также нет необходимости использовать SSH для связи, доступны «netcat» или другие инструменты, ориентированные на командную строку.

Что уже сделано для ее решения: Я запустил(долго ;-) обсуждение туннелирования SSH, которое сейчас приостановлено, SSH: TCP-over-File? , но включает много ценной информации (особенно из Ch. Duffy et al..).Я понял, что SSH не подходит для этого, но вопрос, может ли этот инструмент туннелирования Windows быть полезным, все еще открыт: https://labs.mwrinfosecurity.com/tools/tcp-over-file-tunnel/

Как установить связь с использованием распространенных инструментов, поставляемых соперационные системы (Ubuntu или Windows 7) в данном случае?

Ответы [ 3 ]

0 голосов
/ 18 декабря 2018

Итак, если вы являетесь пользователем root на обеих машинах, я предполагаю, что существует промежуточный межсетевой экран, который вы не контролируете?Между этим и очень расплывчатым требованием «связи» я вижу несколько вариантов, которые не очень быстрые, но могут работать.

  1. Создание 2 папок, по одной для каждой машины, которую нужно отбросить 'файлы сообщений в.Каждый узел будет запускать приложение для прослушивания новых файлов (с другого компьютера), находящихся в очереди, загрузки и обработки новых, а также удаления обработанных сообщений.

  2. У одной машины с сервером (вы сказали, что они были подключены к сети, поэтому я предполагаю, что Интернет здесь) с веб-сокетами, а у другой - как клиент.Затем вы можете передавать сообщения и инициировать действия через Интернет.

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

0 голосов
/ 20 декабря 2018

Если единственная сегментация между компьютерами - это IP-подсети, например: нет VLAN или физического разделения.Попробуйте подключиться, используя IPv6, пропингуя локальные адреса ссылок.

Используйте следующую команду Windows в окне cmd:

ipconfig /all

Найдите адрес "FE80:" ... на физическом адаптере.

На другомкомпьютер:

ping -6 fe80:...

Если это работает, вы можете использовать этот IP-адрес для связи между компьютерами.У каждой из виртуальных машин будет свой адрес.В Linux используйте ifconfig для поиска адресов.

Если это не сработает, вы всегда можете использовать два дешевых проводных USB-адаптера Ethernet и перекрестный кабель.

0 голосов
/ 17 декабря 2018

Ваше требование общих инструментов исключает любые возможные решения Windows.

netcat - отличный инструмент, если у вас есть прямое подключение по TCP / IP, а это не так.

Перенаправление файлов не имеет значения, так как вы можете перенаправлять локально и получать на удаленном;Я предполагаю, что вы ищете более элегантный терминал, как ваше определение общения.

Вы на правильном пути, используя tail -f, но попытка эмулировать сетевое соединение потребует переписывания SSH для использования файла для связи.

Мое улучшение вашего кода, как описано в " SSH: TCP-over-file"для имитации фактического терминала.Запустите следующий код на локальном компьютере в окне single :

tail -f /mnt/fileshare/my_ssh_out >>/dev/`ps eax | grep $$ |cut -d ' ' -f 2 | tail -n 1` &
cat >> /mnt/fileshare/my_ssh_in 

Строка: /dev/ps eax | grep $$ |cut -d ' ' -f 2 | tail -n 1 & получает текущий терминал, поэтому выход может быть перенаправлен туда.Примечание: вы не можете перенаправить вывод локально.

...