@6stprod

C# как отловить исходящее соединение по отдельному ИП или домену?

Делаю консольное приложение, которое должно проверять подключение к определенному IP и оповещать (например: Вы подключились к 127.0.0.1). Как это реализовать?
  • Вопрос задан
  • 195 просмотров
Пригласить эксперта
Ответы на вопрос 3
Rou1997
@Rou1997
Это сниффер, реализовать не просто, пробуйте драйвер WinPCap (используется в Wireshark), либо библиотеку Fiddler, она действует по принципу прокси, и с ней проще разобраться, но она только для HTTP и HTTPS.
Ответ написан
@alex_ak1
winpcap и какой-нибудь pcap dot net, смотреть весь трафик и фильтровать соединения.
Ответ написан
Комментировать
@6stprod Автор вопроса
static void ListAvailableTCPPort(ref ArrayList usedPort)
        {
            IPGlobalProperties ipGlobalProperties = IPGlobalProperties.GetIPGlobalProperties();
            TcpConnectionInformation[] tcpConnInfoArray = ipGlobalProperties.GetActiveTcpConnections();
            IEnumerator myEnum = tcpConnInfoArray.GetEnumerator();

            while (myEnum.MoveNext())
            {
                TcpConnectionInformation TCPInfo = (TcpConnectionInformation)myEnum.Current;
                Console.WriteLine("Port {0} {1} {2} ", TCPInfo.LocalEndPoint, TCPInfo.RemoteEndPoint, TCPInfo.State);
                usedPort.Add(TCPInfo.LocalEndPoint.Port);
            }
        }

        public static void Main()
        {
            ArrayList usedPorts = new ArrayList();
            ListAvailableTCPPort(ref usedPorts);
            Console.ReadKey();
        }
Как я могу из этого списка отфильтровать нужное подключение?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы