Вы можете использовать ProcessBuilder класс, чтобы проверить, существует ли приложение уже.Просто над командной строкой запустите запрос что-то вроде:
ftype | find "Wireshark"
и проверьте возвращенную строку, либо она будет иметь путь к двоичному файлу Wireshark или сообщение об ошибкеКак только он появится, вы можете вызывать команды wireshark с этого пути abs.
Если нет, то вы можете упаковать их как портативный инструмент, упакованный в ваш файл jar.Вы можете разархивировать этот файл во время выполнения и с помощью компоновщика процессов вызвать этот инструмент и запустить задачи, зависящие от проволочной акулы.То же самое касается nmap .
Надеюсь, это даст вам идею, как это сделать.