Итак, у вас уже есть IP-адрес каждого устройства, полезное начало.Отсюда «ручной алгоритм» может выглядеть так:
for each ip in devices
traceroute ip
for each hop in traceroute
add hop to graph (if it's not there already)
Что вы делаете, это добавляете каждый сетевой переход между вами и устройством в структуру графа.Если узел (прыжок) уже найден, то вы добавляете новое ребро.Если нет, вы добавляете ребро и вершину.Конечным результатом будет график каждого узла в сети и пути к ним - ваша топология.
Итак, все, что вам нужно сделать, - это реализовать traceroute самостоятельно, построить структуру графа для хранениярезультаты ваших трассировочных трасс, а затем сделать что-то, чтобы построить все это хорошо!Каждый из них может породить много собственных вопросов.
Когда вы пометили этот Objective-C, я сделаю прыжок и предположу, что вы делаете это на Mac.Если это так, то ваши графические потребности хорошо удовлетворяются с помощью API рисования Cocoa.