-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtcppacket.cpp
55 lines (44 loc) · 1.12 KB
/
tcppacket.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include "tcppacket.h"
TcpPacket::TcpPacket(Packet *pkt, quint16 offset) : Packet(pkt, offset) {
tcphdr hdr = (tcphdr)(rawpkt + offset);
src = ntohs(hdr->src);
dst = ntohs(hdr->dst);
seqN = ntohl(hdr->seqN);
ackN = ntohl(hdr->ackN);
hdrlen = ((hdr->hdrlen & 0xf0) >> 4) * 4;
flags = ((hdr->hdrlen & 0x0f) << 8) | hdr->flags;
winsize = ntohs(hdr->winsize);
checksum = ntohs(hdr->checksum);
urgptr = ntohs(hdr->urgptr);
pktlen = getCapLen() - offset;
}
quint16 TcpPacket::getSrcPort() {
return src;
}
quint16 TcpPacket::getDstPort() {
return dst;
}
quint32 TcpPacket::getSeqN() {
return seqN;
}
quint32 TcpPacket::getAckN() {
return ackN;
}
quint8 TcpPacket::gethdrlen() {
return hdrlen;
}
quint16 TcpPacket::getFlags() {
return flags;
}
quint16 TcpPacket::getWinSize() {
return winsize;
}
quint16 TcpPacket::getChecksum() {
return checksum;
}
quint16 TcpPacket::getUrgptr() {
return urgptr;
}
quint32 TcpPacket::getPktLen() {
return pktlen;
}