2 хоста в одной подсети маршрутизируют через 3-й хост?

Используйте:

find. -type f -exec sh -c 'echo "$(identify -format %w-%h "$1")"' sh {} \;

Пояснение

Проблема заключается в том, как bash раскрывает переменные

find * -type f -exec echo "$(identify -format '%w-%h' {})" \;

Первый удар расширяет то, что находится внутри$(...):

find * -type f -exec echo 'identify: unable to open image `{}': No such file or directory...' \;

В этот момент find будет использовать один и тот же оператор exec для всех команд с довольно бесполезным аргументом. Что вы хотите сделать, так это подавить расширение bash внутри find exec. Вы можете остановить расширение bash, поместив их в одинарные кавычки

find * -type f -exec echo '$(identify -format %w-%h {})' \;

Но здесь мы полностью теряем расширение, мы можем ввести его обратно, запустив выражение сsh -c

find * -type f -exec sh -c 'echo "$(identify -format %w-%h {})"' \;

Наличие {}в сценарии оболочки также может привести к некоторым непредвиденным ошибкам при работе с пробелами, кавычками или любым символом, характерным для оболочки в именах файлов. Чтобы обойти это, вы должны переместить {}в качестве аргумента в sh с:

find * -type f -exec sh -c 'echo "$(identify -format %w-%h "$1")"' sh {} \;

См. этот вопрос/ответ для более подробного объяснения этого.

Наконец, вы можете заменить *на ., чтобы позволить findсамостоятельно находить файлы в текущем каталоге (и включать скрытые файлы, а также без сбоев для имен файлов, начинающихся с-).

Кроме того, вы можете добавить флаг -xк sh, чтобы распечатать то, что было выполнено, чтобы помочь с отладкой команды -, это может быть очень шумным для многих файлов.

0
20.01.2020, 18:08
1 ответ

Попробуйте arpspoof из пакета dsniff.

Это не сработает, если два хоста смогут защититься от отравления ARP, поскольку именно так это и работает.

Оболочка 1

# Enable packet forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# Tell A we are B
arpspoof -t hostA hostB

Оболочка 2

# Tell B we are A
arpspoof -t hostB hostA

Оболочка 3

# Watch the traffic
tshark -f 'host hostA and host hostB and not arp'
0
28.01.2020, 02:54

Теги

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