Перейти к основному содержанию

Cisco ASDM — жесть как она есть

Cisco

Попытался залезть в управление ASA. Используется новый образ Cisco ASDM 7.19. Это какой-то кошмар.

Windows

Cisco ASDM-IDM Launcher весело обновился и не смог запуститься в Windows 10.

Невозможно запустить это приложение на вашем ПК
Чтобы найти версию для вашего компьютера, обратитесь к издателю приложения

This app can’t run on your PC
To find a version for your PC, check with the software publisher.

asdm

Открываем свойства ярлыка Cisco ASDM-IDM Launcher.

asdm

Меняем путь к объекту на:

C:\Windows\system32\wscript.exe invisible.vbs run.bat

cisco

Теперь запустится.

cisco

Linux

На этом приключения не заканчиваются. В примечаниях к выпуску Cisco ASDM 7.17 есть этот кусочек дёгтя:

ASDM 7.18 ending support for Java Web Launch—Starting with ASDM 7.18, ASDM will no longer support Java Web Start due to Oracle’s end of support for JRE 8 and Java Network Launching Protocol (JNLP). You will have to install the ASDM Launcher to launch ASDM.

Если обновиться до 7.18 или 7.19, то получим FileNotFoundException:

JNLPException[category: Download Error : Exception: java.io.FileNotFoundException: https://192.168.1.1/admin/public/asdm.jnlp : LaunchDesc: null
    at com.sun.javaws.Main.launchApp(Unknown Source)
    ...
Caused by: java.io.FileNotFoundException: https://192.168.1.1/admin/public/asdm.jnlp
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1896)
...

Нет больше файла:

/admin/public/asdm.jnlp

Выводы

Такое ощущение, что всем разработчикам Cisco выдали маки и заставляют на них работать.

Плагин для винды доступен, но работает только после пинка.

/admin/dm-launcher.msi

Под MacOS у нас доступен плагин DMG:

/admin/dm-launcher.dmg

И если вам очень надо работать в Linux, то можно вытащить всё что нужно из DMG, как описано здесь:

https://williamlieurance.com/cisco-asdm-718-719-linux/

Скопипастил инструкцию для Fedora

Качаем /admin/dm-launcher.dmg.

dnf install dmg2img apfs-fuse

Поиск нужного образа:

dmg2img -l dm-launcher.dmg
dmg2img v1.6.5 (c) vu1tur (to@vu1tur.eu.org)

dm-launcher.dmg --> (partition list)

partition 0: Protective Master Boot Record (MBR : 0)
partition 1: GPT Header (Primary GPT Header : 1)
partition 2: GPT Partition Data (Primary GPT Table : 2)
partition 3:  (Apple_Free : 3)
partition 4: disk image (Apple_APFS : 4)
partition 5:  (Apple_Free : 5)
partition 6: GPT Partition Data (Backup GPT Table : 6)
partition 7: GPT Header (Backup GPT Header : 7)

Образ в четвёртом разделе, извлекаем:

dmg2img -p 4 dm-launcher.dmg
dmg2img v1.6.5 (c) vu1tur (to@vu1tur.eu.org)

dm-launcher.dmg --> dm-launcher.img

decompressing:
opening partition 4 ...             100.00%  ok

Warning: wrote 129982464 bytes, expected 130020864
Wrote 38400 padding bytes

Archive successfully decompressed as dm-launcher.img

You should be able to mount the image [as root] by:

modprobe hfsplus
mount -t hfsplus -o loop dm-launcher.img /mnt

Монтируем образ:

mkdir asdm-img
sudo mount -t apfs -o loop dm-launcher.img ./asdm-img

Всё что нужно можно посмотреть:

ls 'asdm-img/root/Cisco ASDM-IDM.app/Contents/Resources/Java/'

AC_HS.PEM cert.PEM demo dm-launcher.jar jploader.jar jre lzma.jar retroweaver-rt-2.0.jar

ls 'asdm-img/root/Cisco ASDM-IDM.app/Contents/Resources/Java/jre'
ASSEMBLY_EXCEPTION  bin  DISCLAIMER  lib  LICENSE  man  readme.txt  release  THIRD_PARTY_README  Welcome.html  zulu-8.jre

Пример того как запускать пакет можно посмотреть в ./asdm-img/root/Cisco ASDM-IDM.app/Contents/MacOS/dm-launcher.sh. Почти весь скрипт пытается понять, как запустить Java. Он находит локально установленную версию, проверяет ее правильную версию, выполняет некоторые магические действия с plist, а затем запускает большую длинную строку Java. Сценарий можно использовать почти как есть, но в нем предполагается слишком много путей и инструментов MacOS. Переделаем.

TARGET_DIR=/home/username/asdm-7191
TARGET_USER=username
mkdir -p "$TARGET_DIR" 
cp "asdm-img/root/Cisco ASDM-IDM.app/Contents/Resources/Java/"* "$TARGET_DIR"
cat > "$TARGET_DIR/asdm.sh" <<EOF
#!/bin/bash
java -Xms64m -Xmx512m -Djava.util.Arrays.useLegacyMergeSort=true -Dhttp.agent=ASDM -cp $TARGET_DIR/dm-launcher.jar:$TARGET_DIR/jploader.jar:$TARGET_DIR/lzma.jar:$TARGET_DIR/retroweaver-rt-2.0.jar com.cisco.launcher.Launcher $TARGET_DIR/cert.PEM 
EOF
chown -R "$TARGET_USER" "$TARGET_DIR"
chmod 755 "$TARGET_DIR/asdm.sh"

Наша цель получена: asdm.sh.

asdm

Теги

Цены

 

Похожие материалы

Коммутатор Cisco Catalyst 2960 — WS-C2960RX-24PS-L

FlexStack-Plus модуль не поддерживает горячую замену и должен быть установлен в слот FlexStack-Plus заранее. Подключаемые к стеку коммутаторы автоматически обновляют версию stack’s Cisco IOS Software и прозрачно присоединяются к стеку.