Это может показаться странным вопросом, но что бы вы использовали для создания типичной голливудской хакерской сцены?
Голливудская технодрама, должна быть достаточно вдохновляющей для того, что вы ищете. Она доступна в виде пакета для Linux, также на github, вы можете выбрать понравившиеся вам фрагменты и собрать что-то для OS X.
На систему Debian/Ubuntu можно установить так:
sudo apt-get install hollywood
Или, если это не работает:
sudo apt-add-repository ppa:hollywood/ppa
sudo apt-get update
sudo apt-get install hollywood
Поскольку устройства-роботы имеют разные IP-адреса, самым простым способом будет создание моста Linux с двумя интерфейсами Ethernet в качестве портов. Что-то вроде
ip link add name br0 type bridge
ip link set enp3s0 master br0
ip link set enp6s0 master br0
Затем установите одиночный IP-адрес на внутреннем интерфейсе br0
:
ip addr add 10.0.0.1/24 dev br0
и вы должны быть в порядке, без коммутатора, свисающего с хвоста коробки, но все по-прежнему в той же сети.
И пожалуйста, пожалуйста , не используйте Kali Linux для таких вещей. Прочтите это и сделайте себе одолжение и переключитесь на какой-нибудь дистрибутив (на основе Debian -, так как Kali также основана на Debian -), который предназначен для повседневной работы. Вы столкнетесь с гораздо меньшими трудностями. И все блестящие инструменты, которые есть у Kali, также могут быть установлены.
По умолчанию драйвер IP-протокола Linux использует оптимизацию, имеющую техническое название «модель слабой конечной системы» или «модель слабого хоста». Подробнее см. в этом вопросе.
Суть в том, что когда вы настраиваете две сетевые карты с комбинациями IP-адресов и масок сети, которые принадлежат к одному и тому же блоку пространства IP-адресов, код, отвечающий за маршрутизацию исходящих IP-адресов, будет считать, что обе эти сетевые карты подключены. к тому же физическому сегменту сети , и поэтому любой из них может использоваться для связи с любым хостом, имеющим IP-адрес в этом блоке. А затем он просто использует интерфейс, который указан первым в таблице маршрутизации для всего исходящего трафика в этот сегмент сети. В нем отсутствует концепция нескольких отдельных физических сетей, использующих копии одного и того же пространства IP-адресов.
Если в вашей системе включена фильтрация обратного пути (/proc/sys/net/ipv4/conf/*/rp_filter
), она может заблокировать проверку связи с одним из роботов, даже если вы укажете сетевой интерфейс (произнесите eth1
):, когда придет ответ через eth1
фильтр обратного пути видит, что нормальная маршрутизация к этому IP-адресу источника будет проходить через eth0
, и поэтому этот входящий пакет на eth1
должен быть поддельным. Вы можете увидеть, происходит ли это, если вы включите параметр журнал _марсиане :
for i in /proc/sys/net/ipv4/conf/*/log_martians; do
echo 1 > $i
done
Затем попробуйте пропинговать своих роботов, а затем проверьте конец dmesg
вывода :вы можете увидеть сообщения о потерянных пакетах.
В вашей ситуации потребуется, чтобы маршрутизация учитывала исходный IP-адрес при принятии решения о том, какую сетевую карту использовать для исходящих пакетов, и поэтому действовала в соответствии с так называемой «моделью сильной конечной системы» или «моделью сильного хоста». Что ж, Linux может сделать это, используя функциональность «расширенной маршрутизации», но она определенно не используется по умолчанию, и ее довольно сложно настроить.См. мой ответ в упомянутом выше вопросе -для рецепта конфигурации, если вы действительно хотите это сделать.
Однако, поскольку IP-адреса роботов не перекрываются, самым простым решением с точки зрения конфигурации программного обеспечения будет приобретение небольшого дешевого сетевого коммутатора (или даже концентратора )и подключения обоих роботов и одной сети. кабель от компа в него.
Или, если вам нужна простота с точки зрения минимального количества оборудования, просто настройте роботов на использование разных IP-сегментов, если вы хотите подключить их напрямую к нескольким сетевым адаптерам на одном компьютере.
Для 21 и 70 можно использовать две непересекающиеся подсети 10.0.0.0/26 и 10.0.0.64/26 (/26 = маска 255.255.255.192 ). Предполагая, что другие интерфейсы не включают 10.0.0.0/25.