Matias Fontanini
c5404a6111
Removed DNSResourceRecord. Records in DNS are now managed completely by DNS::Resource.
2014-01-21 22:56:53 -03:00
Matias Fontanini
6d7e06535a
Fixed some endianness bugs on ICMPv6 and PPI.
2014-01-19 14:40:57 -03:00
Matias Fontanini
dbcdda9d36
Rewrote the DNS parsing algorithm. Everything is now done on the read buffer, without any extra data structures, making it work about 400% faster than before.
2014-01-19 13:11:50 -03:00
Matias Fontanini
17ceba6064
Fixed broken strict-aliasing rules on ICMPv6.
2014-01-15 19:56:58 -03:00
Matias Fontanini
52078cc567
Finished porting DHCPv6.
2014-01-15 19:39:07 -03:00
Matias Fontanini
e2656739f1
Ported DHCP and Dot11. Almost ported DHCPv6 completely.
2013-12-23 23:02:58 -03:00
Matias Fontanini
33091ccbae
Ported PPPoE and started porting Dot11.
2013-12-18 13:02:41 -03:00
Matias Fontanini
ca6b603478
Finished porting ICMPv6.
2013-12-17 19:00:00 -03:00
Matias Fontanini
069ae82b10
Keep porting ICMPv6 to use PDUOption::to<>.
2013-12-17 00:10:26 -03:00
Matias Fontanini
ea6638c163
IP now uses PDUOption::to<>. Started porting ICMPv6 to do so as well.
2013-12-16 15:50:17 -03:00
Matias Fontanini
112a357726
Added PDUOption::to<>. TCP options now use this method when being converted to their appropriate types.
2013-12-16 14:11:53 -03:00
Matias Fontanini
0e54579200
Layer 3 packets sent using PacketSender::send_recv for which the answer is a different PDU type(such as ICMP destination unreachable), are detected by PacketSender and matched like usual.
2013-12-14 18:10:33 -03:00
Matias Fontanini
ccb8ffd1b5
ICMP::gateway is now an IPv4Address.
2013-12-14 14:28:39 -03:00
Matias Fontanini
b83c1a2a96
Added support for ICMP address mask request/reply.
2013-12-14 14:21:04 -03:00
Matias Fontanini
81a947e3b3
Fixed bug on ICMP checksum calculation when using timestamp request/replies.
2013-12-14 13:42:12 -03:00
Matias Fontanini
1cec0f106d
Fixed bug in PacketSender when using send_recv and a layer 2 PDU. The interface in which the packet was sent was not the default_interface set when the sender was constructed.
2013-12-14 12:49:50 -03:00
Matias Fontanini
0acb0fee3e
IP packets sent using PacketSender::send_recv now match ICMP responses.
2013-12-14 12:48:56 -03:00
Matias Fontanini
9b57585b62
Added support for ICMP timestamp request/reply packets. ICMP::matches_response now works with these types of packets as well.
2013-12-13 17:23:17 -03:00
Matias Fontanini
2ddec368c3
Fixed bug on IP when serializing fragmented packets.
...
The original protocol id was being overwritten with 0xff(unknown)
when the inner_pdu was a RawPDU, even if it was just a fragment of
a transport layer PDU. The protocol id is now kept if the packet
is fragmented.
2013-12-04 10:56:48 -03:00
Matias Fontanini
295ebb679c
Added 1000ms as the default read timeout used when calling pcap_open_live. Added BaseSniffer::set_timeout to modify this parameter.
2013-11-19 20:51:58 -03:00
Matias Fontanini
6355aff3cd
Added IPv4Reassembler class.
2013-11-17 15:32:24 -03:00
Matias Fontanini
a6655191d4
Fragmented IP packet's inner_pdu PDUs are not decoded now.
2013-11-16 19:40:08 -03:00
Matias Fontanini
9962381fc7
Added the --disable-dot11 configure switch.
2013-11-09 14:41:08 -03:00
Matias Fontanini
93ab8d3b91
Removed useless include directives from ip.cpp and ipv6.cpp.
2013-11-04 23:31:46 -03:00
Matias Fontanini
5345b29f8c
Added support for IPSec.
2013-11-04 23:05:00 -03:00
Matias Fontanini
de06fee5ab
Fixed bug triggered when ifaddrs::ifa_addr was null.
2013-11-04 15:53:55 -03:00
Matias Fontanini
6d329424f1
Created an overload of Internals::pdu_from_flag for transport layer PDUs.
2013-11-04 13:46:25 -03:00
Matias Fontanini
dfbbea33d5
Added another overload of Utils::route_entries and fixed a bug in Utils::network_interfaces.
2013-11-02 19:19:55 -03:00
Matias Fontanini
b0868b5d60
Added another Sniffer constructor.
2013-10-21 23:31:07 -03:00
Matias Fontanini
a507355e27
Added tins_cast as a replacement for dynamic_cast when using it on PDU classes.
2013-10-18 09:28:43 -03:00
Matias Fontanini
6dd949611d
Modified some header documentation.
2013-10-07 23:31:22 -03:00
Matias Fontanini
01b2a9c7b2
Modified some examples fixed some doxygen documentation.
2013-10-06 23:00:20 -03:00
Matias Fontanini
bcfe26175a
BaseSniffer now uses pcap_loop instead of pcap_dispatch.
2013-09-24 08:59:46 -03:00
Matias Fontanini
c4e6a7c0d6
Fixed some compilation errors/warnings and bugs when using Big Endian architectures.
2013-09-24 00:34:14 -03:00
Matias Fontanini
9cbac6b044
BaseSniffer::next_packet now uses pcap_dispatch.
2013-09-23 22:55:18 -03:00
Matias Fontanini
2414edd1e7
Fixed a bug in PPI and Dot1Q triggered when constructing from buffer/serializing. Done some documentation fixes.
2013-09-22 19:37:02 -03:00
Matias Fontanini
74ef177e25
Added address_range.cpp.
2013-09-21 01:21:15 -03:00
Matias Fontanini
1b4efc1520
Rolled the BaseSniffer changes since that was OK.
2013-09-20 12:37:21 -03:00
Matias Fontanini
96ecd054ab
Fixed issue with bpf_programs on BaseSniffer. Done some documentation changes.
2013-09-20 11:07:09 -03:00
Matias Fontanini
d7d2dec5cb
Done some optimizations on TCP's constructor from buffer.
2013-09-15 16:01:00 -03:00
Matias Fontanini
20f3911e12
BaseSniffer::sniff_loop now uses begin() and end() to process packets, making it around 8% faster. Also added BaseSniffer::link_type to retrieve the pcap handle link type.
2013-09-15 12:16:54 -03:00
Matias Fontanini
d393c1fbfc
Moved calls to pcap_loop and pcap_breakloop to sniffer.cpp.
2013-09-08 19:20:52 -03:00
Matias Fontanini
e21e34e194
Added IPv4Address, IPv6Address and HWAddress<> 'is_multicast' member function.
2013-09-08 17:23:08 -03:00
Matias Fontanini
a01fff411e
Added missing PPI files.
2013-09-05 09:09:56 -03:00
Matias Fontanini
7d4222fb17
Added PPI PDU.
2013-09-05 00:49:11 -03:00
Matias Fontanini
de0ec914cc
Fixed bug in RadioTap. The flags field was being used even if it was not present.
2013-09-04 16:34:24 -03:00
Matias Fontanini
15f2896811
Added is_private and is_loopback methods to IPv4 and IPv6 addresses.
2013-09-04 12:57:36 -03:00
Matias Fontanini
5f2c923c48
Added PDUAllocator class, which makes extending PDUs easier.
2013-08-29 23:31:10 -03:00
Matias Fontanini
4ca21bdad7
Fixed some issues when parsing DNS answers. MX records are now serialized correctly.
2013-08-04 14:27:03 -03:00
Matias Fontanini
2cc0ceb1aa
Fixed bug triggered in DNS when parsing some unknown record types.
2013-07-25 10:47:09 -03:00