Я хотел бы написать приложение для моего собственного интереса, которое графически визуализирует некоторые концепции сети. В основном я хотел бы показать вывод таких инструментов, как ping, traceroute и nmap.
Наиболее очевидный подход, по-видимому, заключается в использовании каналов для вызова этих инструментов из моей C-программы и обработки возвращаемой ими информации. Тем не менее, я хотел бы избежать этого грубого подхода, если это возможно. У меня вопрос: можно ли как-то связать эти инструменты или есть API, которые можно использовать для получения программного доступа? Если да, доступно ли это поведение только для отдельных инструментов?
Одна из причин, по которой вы хотите это сделать, состоит в том, чтобы хранить все в одном пространстве процессов / адресов и избегать зависимости от этих внешних инструментов. Например, если бы я написал приложение для iphone, я не смог бы порождать процессы для вызова внешних инструментов.
Спасибо за любые советы или предложения.