diff options
| author | Mosder <xmosder12@gmail.com> | 2026-07-06 10:06:10 +0200 |
|---|---|---|
| committer | Mosder <xmosder12@gmail.com> | 2026-07-06 10:06:10 +0200 |
| commit | f57066460f7c914b07a612d037eb5e57f617d5b2 (patch) | |
| tree | 703a7b21c24fa1ab002349a6979da53158d161b2 /analyzer/utils/pcap.c | |
| parent | f1d1feabec428bf9ffc2c786d28ce7cc95725d48 (diff) | |
feat: added basic structures for fight results parsing and base functionallity of finding only the necessary data. Still need to do tcp stream reassembly and the actual parsing of the data.
Diffstat (limited to 'analyzer/utils/pcap.c')
| -rw-r--r-- | analyzer/utils/pcap.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/analyzer/utils/pcap.c b/analyzer/utils/pcap.c index cdefba7..5e9b611 100644 --- a/analyzer/utils/pcap.c +++ b/analyzer/utils/pcap.c @@ -4,7 +4,7 @@ #include <netinet/ip.h> #include <netinet/tcp.h> -const unsigned char *get_payload_from_packet(const unsigned char *packet, const struct pcap_pkthdr *packet_data, int *payload_len) { +const unsigned char *get_payload_from_packet(const unsigned char *packet, const struct pcap_pkthdr *packet_data, int *payload_len, uint32_t *tcp_seq) { // get Ethernet header const struct ether_header *eth_header = (const struct ether_header *)packet; int eth_header_len = sizeof(struct ether_header); @@ -29,6 +29,9 @@ const unsigned char *get_payload_from_packet(const unsigned char *packet, const const struct tcphdr *tcp_header = (const struct tcphdr *)(packet + eth_header_len + ip_header_len); int tcp_header_len = tcp_header->th_off * 4; + // get TCP sequence number + *tcp_seq = ntohl(tcp_header->seq); + // get payload int total_header_len = eth_header_len + ip_header_len + tcp_header_len; *payload_len = packet_data->caplen - total_header_len; |
