При работе с библиотекой 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 из принятого пакета в отдельный буфер не врубаюсь.
Подскажите пожалуйста.