byte[] mas = new byte[] { 123, 45, 56, 57, 75, 56, 78 };
UdpClient udpClient = new UdpClient();
IPAddress ipAdress = IPAddress.Parse("127.0.0.1");
IPEndPoint ipEndPoint = new IPEndPoint(ipAdress, 5001);
udpClient.Connect(ipEndPoint);
udpClient.Send(mas, 7);
udpClient.Close();
Парсинг пакетов
Всем добрый день. Перехватываю пакет и имею его в виде массива байт, к какому типу его надо привести, чтобы получить IP получателя и отправителя, а так же порты?
Да, сначала надо разобрать IP-заголовок (для получения адреса). Если это UDP пакет, а не TCP, тогда достать оттуда порты и данные.
Ну вот видишь - всё знаешь, так чего спрашиваешь? :)
Вопрос, Как это сделать:)
Код:
unsigned char *packet=//хз как ты его получил
cout<<"protocol: "<<int(packet[9])<<endl;//6-tcp 17-udp
cout<<"sender:"<<int(packet[12])<<"."<<int(packet[13])<<"."<<int(packet[14])<<"."<<int(packet[15])<<endl;
cout<<"destination:"<<int(packet[16])<<"."<<int(packet[17])<<"."<<int(packet[18])<<"."<<int(packet[19])<<endl;
cout<<"protocol: "<<int(packet[9])<<endl;//6-tcp 17-udp
cout<<"sender:"<<int(packet[12])<<"."<<int(packet[13])<<"."<<int(packet[14])<<"."<<int(packet[15])<<endl;
cout<<"destination:"<<int(packet[16])<<"."<<int(packet[17])<<"."<<int(packet[18])<<"."<<int(packet[19])<<endl;
Список протоколов тут:
http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml
Код:
Но почему то они не приходят, то есть сниффер их не видит. А если слать с другой машины в локалке (на адрес 10.10.0.14), то пакеты перехватываются. В чем дело?