1Revision history for Perl extension Net::Packet. 2 3*** This will probably be the last release. From now on, please use 4Net::Frame::* modules on CPAN. This framework is obsolete. 5 63.27 Mon Nov 9 19:19:57 CET 2009 7 - bugfix: PPPoE packing payload 8 => http://rt.cpan.org/Public/Bug/Display.html?id=51112 9 - update: copyright notice 10 113.26 Sat Apr 19 18:41:12 CEST 2008 12 - new: added possibility to adjust snaplen in Dump.pm 13 => contributed by Darien Kindlund 14 - bugfix: examples/read-pcap.pl 15 163.25 Thu Dec 28 11:11:19 CET 2006 17 - bugfix: Utils.pm: forget to load some subs for IPv6 handling 18 193.24 Sat Dec 16 17:48:15 CET 2006 20 - NEW: now supports big-endian archs (IPv4 and IPv6 update) 21 - bugfix: Frame: require VLAN 22 233.23 Thu Nov 23 23:47:10 CET 2006 24 - examples: updates and bugfixes 25 - tests: bugfix when test modules not available 26 273.22 Sat Nov 18 14:44:49 CET 2006 28 - update: ETH: print() now displays length instead of type if 802.3 layer 29 - new: IPv4: isProtocolIgmpv4() and NP_IPv4_PROTOCOL_IGMPv4 30 - test: added Test::Pod::Coverage 31 - test: added Test::Pod 32 - pod: old undocumented methods are now documented 33 343.21 Wed Nov 15 19:52:43 CET 2006 35 - NEW: added layers STP, OSPF (header only), IGMPv4 (v1 and v2), 36 CDP::Address, CDP::TypeAddresses, CDP::TypeCapabilities, 37 CDP::TypePortId, CDP::TypeSoftwareVersion 38 - NEW: Dump now support PPP links 39 - UPDATE: old PPP integrated into PPPoE, because this is PPP for PPPoE 40 So, there is a new PPP implementation, which is now a layer 2 41 - UPDATE: also, PPPLCP is now a layer 3 42 - UPDATE: IPv4: hlen now defaults to 5, length now defaults to 43 NP_IPv4_HDR_LEN 44 - update: CDP: new attributes: typeAddresses, typePortId, typeCapabilities, 45 typeSoftwareVersion 46 - update: Packet: removed the END block that would clean $Env->dump, 47 it is user responsibility to do that 48 - bugfix: Frame: _getPadding() 49 - bugfix: Dump: storing of received frames when doFrameReturnList is true 50 - bugfix: Dump: .storable file removing in all cases 51 - bugfix: Dump: isFather(), isSon() 52 - bugfix: ARP: print() 53 543.20 Sun Nov 12 23:02:09 CET 2006 55 - NEW: support for PPPoE, PPP, PPPLCP, LLC, and begin the work for CDP 56 - NEW: Frame->new can now return an array ref of decoded frames, to handle 57 new layers, and such things as IPv6 within IPv4. 58 See doFrameReturnList from Env. 59 With this new scheme, the behaviour from unpacking VLAN or ICMPv4 60 has changed. Old behaviour remains the same, but if you set 61 doFrameReturnList to true (not by default), your programs will need 62 updating. 63 - NEW: all layers: be able to create layers without having the need to 64 build a full frame 65 - new: Frame: print() and dump() methods, encapsulate attribute 66 - new: Consts: new constants 67 - new: Layer: isLayer2(), isLayer3(), isLayer4(), isLayer7(), 68 getPayloadLength() 69 - new: Utils: debugDeviceList() 70 - new: Env: doFrameReturnList, noFramePadding, doIPv4Checksum, 71 noFrameComputeChecksums, noFrameComputeLengths, 72 doMemoryOptimizations 73 - update: all layers: rewrite of print() methods 74 - update: TCP: optimizations on recv() method 75 - removed: Frame: noPadding attribute, moved to Env noFramePadding 76 - removed: Frame: doChecksum attribute, moved to Env doIPv4Checksum 77 - bugfix: Env: in getSubnet() 78 - bugfix: Env: mapping between dnet interface and WinPcap interface should 79 now work 80 - bugfix: Env: no IPv6 under Windows for now 81 - bugfix: ETH: in isTypeIp() 82 - bugfix: Frame: do not use Dump and Desc if they do not exist 83 - bugfix: Frame: getFilter() only when a Frame is competely filled 84 - bugfix: IPv4: do not use l4 if it does not exist 85 - bugfix: IPv6: do not use l4 if it does not exist 86 873.01 Sun Nov 5 16:27:50 CET 2006 88 - NEW: ported to Windows ActivePerl 89 - Utils: new subs: getGatewayIp, getGatewayMac, getIpMac 90 - Env: new attributes: subnet, gatewayIp, gatewayMac 91 - Desc: new attributes: gatewayIp, gatewayMac 92 => gatewayIp is automatically set, but not gatewayMac, due to the 93 nature of the ARP lookup implementation. 94 - DescL3: under Windows, the layer 2 (ethernet) is automatically built, 95 so using DescL3 is the same as using DescL3 under Unix/Linux 96 systems. 97 983.00 Sun Oct 29 15:31:06 CET 2006 99 - Net::Packet::Dump: added keepTimestamp attribute to keep original pcap 100 timestamp. Default is to not keep original and use our 101 own timestamp. 102 - bugfix: in Utils.pm, a redifined error is now removed 103 - bugfix: in DescL4.pm, a redifined error is now removed 104 - bugfix: in DescL4.pm, family attribute now initialized 105 - pod update: lib/Net/Packet.pm 106 - pod update: lib/Net/Packet/Dump.pm 107 - pod update: lib/Net/Packet/Env.pm 108 - pod update: lib/Net/Packet/Frame.pm 109 - pod update: lib/Net/Packet/Desc.pm 110 - pod update: lib/Net/Packet/DescL2.pm 111 - pod update: lib/Net/Packet/DescL3.pm 112 - pod update: lib/Net/Packet/DescL4.pm 113 1143.00_02 Wed Oct 4 23:18:43 CEST 2006 115 - bugfix: now it is possible to open a network interface with no IP address 116 - bugfix: now it is possible to create a Dump object and give it another Env 117 object, without interfering with the default Env object 118 1193.00_01 Wed Sep 27 17:25:47 CEST 2006 120 - *** WARNING: developer release, the pod is not up to date with the code 121 - Now uses array as objects (with Class::Gomor::Array) 122 - good speed improvement by replacing calls to accessors methods to 123 direct array indice lookup 124 - small memory usage improvement thanks to array objects 125 - Net::Packet::Dump: complete rewrite 126 - Net::Packet::Env: nearly complete rewrite 127 1282.22 Sat May 13 11:45:03 CEST 2006 129 - bugfix: in Env.pm, debug mode was not working anymore 130 1312.21 132 - Net::Packet::Dump: added getStats() 133 - now uses Class::Gomor instead of Class::Gomor::Hash (but objects are 134 still hashes) 135 1362.20 Sun Mar 19 18:23:51 CET 2006 137 - Net::Packet: ported under Cygwin (now works under Windows :) ) 138 - Net::Packet: is now a pure Perl module 139 - IO::Interface: removed from dependances 140 - Net::Write: new dependance 141 - update: Desc*: now use new Net::Write portable module 142 - bugfix: Dump: many fix, Debian users should now be able to use Net::Packet 143 1442.06 Mon Mar 13 13:53:54 CET 2006 145 - Frame: added noPadding option 146 1472.05 Sun Mar 12 12:09:18 CET 2006 148 - bugfix: IPv4: flags field is now split into flags and offset fields 149 - bugfix: IPv4: constants for IPv4 flags are now ok 150 - bugfix: Env: when we are not able to autoDev(), do not bother to autofind 151 IP and MAC addresses 152 - bugfix: VLAN: pack/unpack methods fixed (now vlanId can be greater than 16 153 - updated: IPv4: print() now also prints new offset field 154 - updated: IPv4: pod for new offset field 155 - updated: dump methods: no more new line character at the end of string 156 - type: Utils: pod documentation typo fixed 157 - new depdendance: Bit::Vector for VLAN.pm 158 - examples/ipv4-flags.pl: new example 159 - examples/vlan-craft.pl: new example 160 - examples/vlan-support.pl: new example 161 1622.04 Sun May 22 21:18:41 CEST 2005 163 - examples/arp-scan.pl: bugfix in pcap filter 164 - examples/sniffer.pl: new feature (dump payload as ASCII) 165 - Makefile.PL: bugfix: removed PREREQ_FATAL that was breaking cpan install 166 - Makefile.PL: bugfix: corrected a check to let Darwin OS to compile module 167 - ETH.pm: added isTypeVlan() 168 - IPv4.pm: added pod for noFixLen and doChecksum 169 1702.03 Fri Feb 4 00:08:14 CET 2005 171 - So sorry. Forgot VLAN.pm in MANIFEST 172 1732.02 Thu Feb 3 23:36:04 CET 2005 174 - NEW LAYER: VLAN/802.1Q, see Net::Packet::VLAN 175 - IPv4: noFixLen and doChecksum attributes 176 1772.01 Tue Feb 1 17:28:04 CET 2005 178 - bugfix: added explodeIps() explodePorts() into export in Utils.pm 179 - bugfix: flush() in Dump.pm 180 - getFilter(): better pcap filter for ARP packets 181 - minor changes in various pod 182 1832.00 Thu Jan 27 22:12:41 CET 2005 184 - major release, backward compatibility broken 185 - full documentation 186 - a battery of tests 187 - new layers: 188 o Layer2/SLL 189 o Layer2/RAW 190 o Layer2/NULL 191 o Layer3/IPv6 192 - sending frames at DescL4 now fully works 193 - huge speed improvements 194 - some memory usage improvements 195 - many many bugfixes 196 1971.28 Thr Dec 2 20:36:11 CEST 2004 198 - bugfix: netpacket_pcap_fp: now works with libpcap 0.8 199 2001.27 Sun Oct 3 20:39:13 CEST 2004 201 - Makefile.PL searches for location of libpcap 202 - IPv4: auto resolution of names to IP addr 203 - ARP: auto resolution of names to IP addr 204 - ICMPv4: pack/unpack Destination Unreachable messages 205 - ICMPv4: pack/unpack Redirect messages 206 - ICMPv4: pack/unpack Time Exceeded messages 207 2081.26 Wed Sep 29 23:24:57 CEST 2004 209 - renaming: Net::Pkt => Net::Packet to get registered on CPAN 210 - unlinkAfterAnalyze is no more 211 - unlinkOnDestroy defaults to 1 (replaces unlinkAfterAnalyze) 212 - callStart defaults to 1 213 - Auto DescL\d creation when a new Frame is created 214 If a DescL\d has already been created on the first Frame creation, it is 215 not overwritten. 216 - Auto creation of Dump object on the first new Frame, started on the first 217 Frame sent 218 2190.26 Wed Sep 29 18:23:19 2004 220 - !!! last version of Net::Pkt. It is renamed to Net::Packet. 221 - NEW: Net::Pkt::getHostIpv4Addr() 222 - NEW: Net::Pkt::getHostIpv4Addrs() 223 2240.25 Sun Sep 26 21:20:37 2004 225 - bugfix: an error in method Net::Pkt::next was making a segfault, due to a 226 bad typemap in Net::Pcap (FILE * to T_IN under Perl 5.8 is bad). Resolved 227 by creating my own Net::Pcap::file sub. 228 2290.24 Sun Sep 26 15:08:11 2004 230 - !!! live capture ready via next sub in Net::Pkt::Dump. 231 See examples/arp-scan.pl of perldoc Net::Pkt::Dump. 232 - Net::Ifconfig::Wrapper: removed, now uses IO::Interface which is better 233 (but not perfect, so there remains the need for a wrapper around ifconfig 234 on some systems) 235 - NEW: Net::Pkt::LayerARP: isReply 236 - NEW: Net::Pkt::LayerARP: isRequest 237 - Net::Pkt::Frame: new object data: reply to store the frame received on 238 a recv method call 239 - NEW: Net::Pkt::Dump->next: returns next available frame from savefile 240 - Net::Pkt::Dump->analyze: returns empty array if there is nothing to read 241 in savefile 242 - Net::Pkt::Dump->analyze: now returns @frames if some have been analyzed 243 - Net::Pkt::Dump: added a global to set sniffing in promiscuous mode 244 => $Net::Pkt::Promisc, default to 0. 245 - Net::Pkt::Dump: signal to handle DESTROY cleanly when hiting CTRL+C 246 - Net::Pkt::Dump: documentation 247 - Net::Pkt::Dump->new: callStart option (default 0) 248 - Net::Pkt::LayerUDP->print: also prints payload size 249 - Net::Pkt::LayerICMPv4: do not exit when an ICMP message is not yet known 250 2510.23 Fri Sep 3 22:24:18 2004 252 - bugfix: META.yml 253 - bugfix: libnetpkt.c and Makefile.PL to let compilation work on Linux and 254 OpenBSD 255 2560.22 Fri Sep 3 21:49:30 2004 257 - LayerICMPv4: echo request/reply, timestamp request/reply, information 258 request/reply, address mask request/reply 259 - constant renaming: NETPKT_IPv4_TRANSPORT_TCP => NETPKT_IPv4_PROTOCOL_TCP 260 - constant renaming: NETPKT_IPv4_TRANSPORT_UDP => NETPKT_IPv4_PROTOCOL_UDP 261 - method renaming: getRandom32bitInt => getRandom32bitsInt 262 - method renaming: getRandom16bitInt => getRandom16bitsInt 263 - method renaming: ipTransport => ipProtocol 264 - method renaming: isTransportTcp => isProtocolTcp 265 - method renaming: isTransportUdp => isProtocolUdp 266 - Dump: removed dependance upon tcpdump binary, implemented as a C function 267 to do its work. But it adds the need to link with libpcap on module 268 building 269 - tcpPrint: now displays options 270 - printDebug: now go to STDERR 271 - METAL.yml written 272 2730.21 Sun Aug 29 20:20:33 2004 274 - changes in Dump scheme; now requires to call start and stop methods 275 - auto* subs do not try anymore to find values if respective class 276 data are already set 277 - first public release 278 2790.20 Sun Aug 29 12:00:34 2004 280 - first release to private people 281 2820.01 Wed Aug 4 12:16:03 2004 283 - original version; created by h2xs 1.21 with options: 284 -Oxan Net::Pkt libnetpkt.h 285 286