C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: WinPcap и запись const u_char *pkt_data в буфер  (Прочитано 1368 раз)
brdm
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 59


WinPcap и запись const u_char *pkt_data в буфер
« : 17 Июль 2014, 17:14:21 »

При работе с библиотекой WinPcap возникла проблема записи сырых данных из перехваченного пакета в конечный буфер, чтобы потом работать с буфером.
Делаю примерно так
Код:
// приемник пакетов
void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data)
{
AnsiString f3, f4, InPctS;
char *In;
  // cтрока ожидаемого мак
f3 = "010101010101";
  // очистка проверочной строки мак
  f4 = "";

// запись входящего мак
for(int i=0; i   f4 += InPctS.sprintf("%.2x", pkt_data[i]);

// проверка на входящий мак
  if(f4 == f3)
{
    for(int i=1; (i caplen + 1 ) ; i++)
    {
        In[i] = pkt_data[i]);
    }
}

Понимаю, что так In = pkt_data; работать не будет. Но как правильно записать данные const u_char *pkt_data из принятого пакета в отдельный буфер не врубаюсь.
Подскажите пожалуйста.
Записан
brdm
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 59


« Ответ #1 : 21 Июль 2014, 20:48:26 »

С этим вроде разобрался. Помогло это

Код:
for(int i=1; (i caplen + 1 ) ; i++)
    {
        spch.push_back(pkt_data[i - 1]);
    }
где
std::vector spch;
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.036 секунд. Запросов: 19.