Pridanie položky do exportu
Uvádza sa postup pre pridanie položky oznamujúcej počet SYN paketov. Ako vzor sme použili existujúcu položku oznamujúcu celkový počet paketov.
Získanie SYN vlajky z hlavičky TCP segmentu
V súbore capture.c vo funkcii processPacket(const u_char *packet)
pridali sme riadok na uloženie vlajky do štruktúry packet_info_t packet_info
packet_info.tcp_syn = header_tcp->syn;
V súbore cache.h sme pridali do definície typu packet_info_t novú položku
uint16_t tcp_syn;
ďalej sme pridali položku uint_64_t tcp_syn_total_count; v type cache_item_t
v súbore cache.c vo funkcii addPacketToFlow(int flow_id, flow_cache_t &flow_cache, packet_info_t packet_info)
v case:0
if(packet_info.tcp_syn==1)
{
flow_cache.flows[flow_id].tcp_fin_total_count++;
}
a to isté aj v prípade case:1
vo funkcii flowDelete(flow_cache_t &flow_cache, int flow_id)
flow_cache.flows[flow_id].tcp_fin_total_count = 0;
v súbore export.c vo funkcii exportFlow(cache_item_t flow)
v switchcase pridáme
case IPFIX_FT_TCPSYNTOTALCOUNT:
memcpy(buff+offset , &flow.tcp_syn_total_count , ie.length);
break;
v súbore ipfix_def.h
na konci pridáme definíciu fieldu ak sa nevyskytuje
#define IPFIX_FT_TCPSYNTOTALCOUNT 218
v súbore ipfix_fields.h
na konci pridáme definíciu fieldu ak sa nevyskytuje
( 0, IPFIX_FT_TPSYNTOTALCOUNT, 8 , IPFIX_CODING_UINT, "tcpSynTotalCount", ""),
postup kompilácie
pretože boli menené knižničné súbory je potrebné pred kompiláciou
$$make clean
a potom
$$make
potom editujeme config.xml, aby exportoval nami pridaný elemnet
do
pridať field
218
samotné spustenie
$$sudo ./beem
-- TomasRojak - 25 Apr 2007