Большинство приложений для программирования сокетов используют API сокетов TCP, который примерно стандартизирован между операционными системами. Если вы просто хотите написать простой сервер и визуализировать, как клиенты общаются с вашим сервером, работающим в вашем процессе, это довольно просто. Однако ваш процесс не может видеть, как соединения сокетов взаимодействуют с другими процессами на вашем компьютере с помощью стандартного API сокетов.
Если вы хотите получить доступ ко всем IP-адресам, о которых говорит вся машина, вам придется использовать API более низкого уровня. Это не стандартизировано между ОС. Для Windows я посмотрю на Winsock API, чтобы узнать, сможете ли вы найти, как посмотреть на стек tcp / ip ОС. Это становится более сложным, потому что TCP-соединения проходят поверх IP-пакетов. На каком уровне вы хотите посмотреть? Просто TCP или все протоколы, которые также используют IP. ARP, UDP, TCP, ICMP, чтобы назвать стандартные представления.
Если вы только учитесь, то просто работаете на простом сервере, и все соединения, взаимодействующие с этим сервером в вашем процессе, намного проще. Понижение - это быстрый прыжок в глубокий конец. Не то чтобы я говорил, что ты не должен этого делать. Хотели бы вы, чтобы все было просто, и оставайтесь со связями, о которых говорит ваш процесс, или вы хотите пойти в лес глубокого темного Окна? Выбери свое приключение.
Редактировать: Лучшим вариантом для доступа более низкого уровня является WinPcap с оболочкой C #. Это позволит вам получить необработанную информацию о пакете. Даже пусть вы переводите свой компьютер в беспорядочный режим и отслеживаете весь трафик в вашей подсети, а не только на ПК.