Прослушивание трафика только от одного IP. Сниффинг. Cniffing. Не Клиент- Серверное приложение! - C#
Формулировка задачи:
Всё просто, но и сложно
Код задания для прослушивания трафика
Это сложная программа, найденная на этом форуме, поэтому привожу лишь часть, где инициализируется соке.
Задача сделать так, чтобы прослушивался трафик только одного IP , например только с сервера яндекс или vk. Остальное не надо.
Где это вообще настраивается?
При задании сокета( код выше)
Или при обработки пакетов( код ниже)
Листинг программы
- static Socket socket;
- static byte[] buffer;
- socket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP); //Делаем РАВ сокет
- socket.Bind(new IPEndPoint(IPAddress.Parse("192.168.0.13"), 21)); //Привязываем к сокету конечную точку 10.10.7.215 127.0.0.1
- socket.SetSocketOption(SocketOptionLevel.IP, //Applies only to IP packets
- SocketOptionName.HeaderIncluded, //Set the include header
- true);
- byte[] byTrue = new byte[4] { 1, 0, 0, 0 };
- byte[] byOut = new byte[4];
- socket.IOControl(IOControlCode.ReceiveAll, byTrue, byOut); //
Листинг программы
- int nReceived = socket.EndReceive(ar);//Длина сообщения
- //Если создался пакет, добавить его в коллекцию
- Packet n = new Packet(buffer, nReceived);
- if (n.IsFilled)
- {
- Data.UpdateList(n); //Передаем пакет в лист первого окна
- }
- }
- catch (Exception ex)
- {
- if (!ex.Message.Contains("disposed"))
- MessageBox.Show(ex.Message);
- }
- finally
- {
- SocketReload(); //Перезагружаем сокет
- }
Решение задачи: «Прослушивание трафика только от одного IP. Сниффинг. Cniffing. Не Клиент- Серверное приложение!»
textual
Листинг программы
- IPEndPoint clientEp = clientSocket.RemoteEndPoint as IPEndPoint;
- string clientIp = clientEp.Address.ToString();
- if(clientIp == "123.123.123.123")
- {
- //...
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д