1
0
mirror of https://github.com/mfontanini/libtins synced 2026-01-25 11:41:35 +01:00

432 Commits

Author SHA1 Message Date
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