Прослушивание трафика только от одного 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")
{
//...
}