Пишу програмку которая считает трафик используя pcap. Провёл тест, передал 211Мб, но программа выдала 300 с копейками. Возникло ощущение что я не от туда беру размер пакета... Вот и вопрос а в каком элементе структуры tcp и ip пакета лежит его размер?! /* IP header */ struct sniff_ip { u_char ip_vhl; /* version << 4 | header length >> 2 */ u_char ip_tos; /* type of service */ u_short ip_len; /* total length */ u_short ip_id; /* identification */ u_short ip_off; /* fragment offset field */ #define IP_RF 0x8000 /* reserved fragment flag */ #define IP_DF 0x4000 /* dont fragment flag */ #define IP_MF 0x2000 /* more fragments flag */ #define IP_OFFMASK 0x1fff /* mask for fragmenting bits */ u_char ip_ttl; /* time to live */ u_char ip_p; /* protocol */ u_short ip_sum; /* checksum */ struct in_addr ip_src,ip_dst; /* source and dest address */ }; #define IP_HL(ip) (((ip)->ip_vhl) & 0x0f) #define IP_V(ip) (((ip)->ip_vhl) >> 4) /* TCP header */ struct sniff_tcp { typedef u_int32_t tcp_seq; u_short th_sport; /* source port */ u_short th_dport; /* destination port */ tcp_seq th_seq; /* sequence number */ tcp_seq th_ack; /* acknowledgement number */ u_char th_offx2; /* data offset, rsvd */ #define TH_OFF(th) (((th)->th_offx2 & 0xf0) >> 4) u_char th_flags; #define TH_FIN 0x01 #define TH_SYN 0x02 #define TH_RST 0x04 #define TH_PUSH 0x08 #define TH_ACK 0x10 #define TH_URG 0x20 #define TH_ECE 0x40 #define TH_CWR 0x80 #define TH_FLAGS (TH_FIN|TH_SYN|TH_RST|TH_ACK|TH_URG|TH_ECE|TH_CWR) u_short th_win; /* window */ u_short th_sum; /* checksum */ u_short th_urp; /* urgent pointer */ }; Заранее спасибо!!!
Ответ на:
комментарий
от dlomin
Ответ на:
комментарий
от vilfred
Ответ на:
комментарий
от cyclon
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум raw sockets — sending udp datagram (2007)
- Форум RAW SOCKET (2002)
- Форум Ulogd & MySQL (2004)
- Форум Malformed пакет LBMSRS (2024)
- Форум Передача стурктуры sendto, recfrom (2012)
- Форум Найти устройство по IP и MAC (2011)
- Форум pcap output (2008)
- Форум pcap & iptables (2007)
- Форум Чем поймать *.pcap (2012)
- Форум pcap статистика пакетов (2008)