Andrey Selin,
по условию задания требуется придумать алгоритм/программу для сканирования сети за NAT.
Интересная у вас организация...
NAT выполняет три важных функции.
...
2) Позволяет предотвратить или ограничить обращение снаружи ко внутренним хостам, оставляя возможность обращения изнутри наружу. При инициации соединения изнутри сети создаётся трансляция. Ответные пакеты, поступающие снаружи, соответствуют созданной трансляции и поэтому пропускаются. Если для пакетов, поступающих снаружи, соответствующей трансляции не существует (а она может быть созданной при инициации соединения или статической), они не пропускаются.
Соответственно простучаться внутрь сети за NAT "просто так" не получится. Для этого нужно либо взломать защиту рутера и уже через OS рутера долго читать таблицы сопоставления адресов, либо уже прописаться там и оттуда сканировать локалку. Оба способа как бы больше относятся к области взлома и проникновения, нежели к административным утилитам...