Попытался залезть в управление 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.
Открываем свойства ярлыка Cisco ASDM-IDM Launcher.
Меняем путь к объекту на:
C:\Windows\system32\wscript.exe invisible.vbs run.bat
Теперь запустится.
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.