2007-04-09 Phil * .hgsigs: Added signature for changeset d8a91f28e741bb8af8975658a8a5a539107c1ea2 [984513b66d88] [tip] * .hgtags: Added tag v1.1.1 for changeset f88d99910220 [d8a91f28e741] * scapy.py: Release 1.1.1 [f88d99910220] [v1.1.1] 2007-04-08 Phil * scapy.py: Fixed problem with mercurial repository and kewyord replacement [9cb7291d0b47] 2007-04-07 Phil * scapy.py: Honored "verbose" parameter in traceroute() and arping() [adb617717435] * scapy.py: Strengthened load_protocols/ethertype/services and made DADict manage an empty attribute name [fc3a96c86918] 2007-04-05 Phil * scapy.py: Fixed namespace pollution and unbound variable use [a35c3a681767] 2007-04-04 Phil * scapy.py: Added proxyfication for __hash__ and __eq__ to Emph field [7a5202fb09f4] * .hgsigs: Added signature for changeset 35c358be00fede40334734d6ae1d263a266c3701 [5879b675f31b] * .hgtags: Added tag v1.1.0 for changeset e452bf206aeb [35c358be00fe] * scapy.py: Release 1.1.0 [e452bf206aeb] [v1.1.0] * scapy.py: Merge ASN1 branch [3e4f80b83f40] * scapy.py: Merge [da4d0753c5cb] * scapy.py: Added cleaning filters for MIB parsing to avoid being mislead by comments and strings [0aec2c58cf40] 2007-04-02 Phil * scapy.py: Added snmpwalk() [06f29fce2b0b] * scapy.py: Added SNMPnext in recognized possible stimuli [286c2e516852] * scapy.py: Made ASN1 objects comparable and worth their value [334ada2e95fc] 2007-04-04 Phil * scapy.py: Merge [19a5e382af50] * scapy.py: Merge [420ceeadec47] * scapy.py: Do not crash if IP.version > 0xf [988fd8fdb5ee] 2007-03-06 phil * scapy.py: Added etherleak() function [33de6a31a63d] 2007-04-01 Phil * scapy.py: Merge [d70ddd5186f0] 2007-03-30 Phil * scapy.py: Merge [254e030b857d] * scapy.py: Added OID resolution from MIB db in ASN1_OID object [18529d8c3f5e] * scapy.py: Added MIBDict._oid() method to convert a name like "private.1" into a raw OID [e628283efcdf] * scapy.py: Added OID resolution from MIBs. By default MIB db is empty. [8f24ae1ad678] * scapy.py: Reversed revision f64241c68ae8: fixing BER_num_enc() minimal size to 1 is not needed anymore [8b6c2c5ac8ec] * scapy.py: Fixed BER_num_enc(): 0 is encoded on 1 byte, not zero. [2956deaab599] 2007-03-19 phil * scapy.py: Added mib loading into conf.mib direct access dictionnary [889f87bc8587] 2007-03-18 phil * scapy.py: Merge [7674d4be35a2] 2007-03-08 phil * scapy.py: merge [0f89d02e8658] * scapy.py: Changed BERcodec_OID.enc() to cope with leading "." in OID [f18e91c0c8be] * scapy.py: Changed BERcodec_SEQUENCE to decode as much as possible from truncated inputs [c087c847d03a] * scapy.py: BERcodec_Object.check_type_get_len() changed to check_type_check_len() Renamed BERcodec_Object.check_type_get_len() into check_type_check_len() and made check_type_get_len() become a function that does not check whether lenght is sufficient to permit partial decoding of sequences. [f4a10e4198b9] 2007-03-07 phil * scapy.py: Fixed BERcodec_OID encoding of 0 in OID [f64241c68ae8] * scapy.py: ASN1_TIME_TICKS wrongly typed as a string instead of an integer [38313333972d] * scapy.py: Added COUNTER32 ASN1 object and associated BER codec [01762dfeb935] * scapy.py: Added asn1 TIME_TICKS support [ef462f79e6ab] * scapy.py: Added ASN1_objects.__str__() method that uses new conf.ASN1_default_codec (BER) [33633c5df733] 2007-03-05 Phil * scapy.py: Merge [55af9ac3c8c2] * scapy.py: Fixed case in Packet.show() when a list field does not contain a list [703d023df7bb] * scapy.py: Made possible to set a SEQUENCE_OF field with an ASN1_Force object [721a78fb4b89] 2007-03-01 phil * scapy.py: Fixed deep copy for some fields that can have lists of Packets [4e4568d6eb64] * scapy.py: Merge [ac5a709b2cf2] 2007-02-09 phil * scapy.py: Added a minimal size parameter to BER_num_enc() to force non-minimal encoding [e2e99adc0672] * scapy.py: Added a minimal size parameter to BER_len_enc() to force non-minimal encoding [82b9c40f8e3e] * scapy.py: Added OID class to create OID sets (a bit like Net class) [6768482971f7] * scapy.py: Changed RandOID repr to display format template [9f59ee78e7de] * scapy.py: Fixed BERcodec_NULL to return minimal "\x05\x00" encoding [86521d699654] 2007-02-08 pbi * scapy.py: Merge [86e86549dae6] * scapy.py: Improved RandOID() to take a format string like "1.3.*.2-12.**" [8d3a15cf9166] * scapy.py: Added RandASN1Object [013ef1f38487] 2007-02-05 Phil * scapy.py: Merge [d2f7e80d3a13] * scapy.py: Merge [58ea46adc31b] 2007-02-02 Phil * scapy.py: Added ASN1F_enum_INTEGER logic [b5640ee5a42b] * scapy.py: Added ASN1_BADTAG() object and used it ASN1_BADTAG is used when decoding an ASN1 object (syntax is ok) with another tag than the expected one (grammar is bad) [39c432bb0ebf] * scapy.py: Changed ASN1_raw() in ASN1_force(), that can also cope with ASN1 objects [9c64d0ee6f93] 2007-01-29 Phil * scapy.py: Added SNMP protocol [c0c4dfc9077e] * scapy.py: Added ASN1 fields [76502b63da79] * scapy.py: Added ASN1_Packet() class [4368a009e572] * scapy.py: Added BER encoding logic [ec0cc0795ca2] * scapy.py: Added ASN1 logic [bc3b46a1701f] 2007-01-28 Phil * scapy.py: Added helpers to create enumerations [143c076984b6] 2007-04-01 Phil * scapy.py: Many bugfixes related to changeset 300220a98b97 [718a771e7a80] * scapy.py: Fixed forgotten call to packet.getfieldval() with a Field instead of its name [2d89ec1eb6e5] * scapy.py: merge [5cab99276c0a] * scapy.py: Added Field.register_owner(). Changed Packet_metaclass to register to field Now each field know its owners. [295342a6c73b] * scapy.py: Cleaned up usage of Packet.get_field(). Got rid of Field.__hash__ and Field.__eq__ This meant that two fields with the same name had the same hash and leaded to the same element in dictionnries. Now they do not anymore. [300220a98b97] 2007-03-30 Phil * scapy.py: Used getfieldval() instead of __getattr__() in Packet.show() [ed61a38885a4] 2007-03-29 Phil * scapy.py: Added ManufDA._resolve_MAC() and used it in MACField.i2repr() [259d09ecfc06] * scapy.py: Improved info message on load_potocols/ethertypes/services in case of a parse error [d040e997b84b] * scapy.py: Merge [8dda24c12497] 2007-03-28 Phil * scapy.py: Added possibility for a startup file to configure Scapy. By default: $HOME/.scapy_startup.py. Option -c to provide another one, -C to skip reading startup file. Security warning: whatever is in the Scapy startup file will be executed. [6e191dbd8ef6] * scapy.py: Catched exception when IP cannot be resolved to a name [3b066a68af1d] * scapy.py: Separated 2 configuration services conf.resolve and conf.noenum conf.resolve holds the list of fields for which resolution (DNS, etc) should be done conf.noenum holds the list of fields for conversion to string should NOT be done Conversions that use the conf.resolve service are off by default. This service is done for expensive conversions like DNS. Conversions that use conf.noenum service are on by default. This is mainly done for Enum fields for which "resolution" is only a matter of a lookup into a dictionnary [1ca6a7e48efd] 2007-03-27 Phil * scapy.py: Added manufacturer database parsing. Use conf.manufdb._get_manuf() or _get_short_manuf() [9d437b2df811] * scapy.py: Changed fixname(). Added an overloadable DAdict.fixname() method [d291cd27f0a4] 2007-03-26 Phil * scapy.py: Added IP resolution with gethsotbyaddr() when IP.src/IP.dst present in con.resolve [f708fc130d34] * scapy.py: Fixed Resolve class: removed EnumField inheritance test at addition [219ab9327346] * scapy.py: Removed useless Conf.reset() method [41272ec6e444] * scapy.py: Changed NoEnum philosophy. Renamed it to conf.resolve Now it is called conf.resolve and a field must be present in it to be enumerated. [74eb58aacb14] 2007-03-25 Phil * scapy.py: Moved DADict and fixname() code. Put ethertypes, protocols and services in conf as DADict [53e7244734d7] * scapy.py: Removed info message for missing ethertype file [4696c61fd86a] 2007-03-20 phil * scapy.py: Added conf.noenum and used it in EnumField to choose whether string conversion is wanted conf.noenum is an instance of NoEnum class. For instance, if you do not want TCP source and destination ports displayed as services names but only numbers: conf.enum.add(TCP.sport, TCP.dport) [dac9da424dfa] * scapy.py: Modified ScapyCompleter class to complete field names in classes [76ad9a22ad18] * scapy.py: Changed Field.__repr__() to something more friendly and added __str__() [08c97026d3bc] * scapy.py: Added Packet_metclass to add methods to Packet classes [48cb3f5c85fc] 2007-03-19 phil * scapy.py: Added docstring to NewDefaultValues metaclass [b954abff2e46] * scapy.py: Moved NewDefaultValues metaclass before Packet class [4a08976bb1db] * scapy.py: Removed deprecated ChangeDefaultValues metaclass. Use NewDefaultValues. [1204e5817770] * scapy.py: Removed old comment [d4c122c73395] 2007-03-18 phil * scapy.py: Added direct access dictionnary object DADict [ecb35a032c36] * scapy.py: Added fixname() function to transform any name into a valid identifier. Collisions are possible with this function For instance: fixname("a+") == fixname("a-") [0bd6b4f80630] 2007-03-28 Phil * scapy.py: Added AS_resolver_multi class to ask all known sources. Made it default. [9a7e28b38a34] * scapy.py: Prevented parse error on AS_resolver cymru output for IPv6 addresses [a895844dfd31] * scapy.py: Tweaked whois AS resolver [6b666c550c87] 2007-03-27 Phil * scapy.py: Big changes over AS_resolver managing * created conf.AS_resolver to hold an instance of the default AS resolver * 3 existing AS resolvers: riswhois, radb and cymru * radb not working yet [431cd37d9bca] 2007-03-21 phil * scapy.py: Improved TracerouteResult.make_graph() and reated AS_resolver classes that replace internal resolver functions [a935fb8c6003] * scapy.py: Revamped TracerouteResult.make_graph() to be IPv6 aware [9a9f9c148613] * scapy.py: Added incremental_label() generator [5e47ccefa4f4] 2007-03-08 phil * scapy.py: Changed default hex editor from hexedit to hexer hexer is an hex editor with a vi-like set of commands. The best reason to make it default is that it supports insertion. [ff4b20f4afad] 2007-03-07 phil * scapy.py: Removed padding from reassembled fragments in defrag() function [d36f3773bc6a] * scapy.py: Created conf.prog.wireshark and used it in wireshark() function [ff07614036c6] * scapy.py: Added hexedit() function [ea1ca3a0057b] 2007-03-02 phil * scapy.py: Improved management of KeyboardInterrupt in dissection code Dissection code used to catch any interruption to carry on whatever happens inside dissectors code. But keyboard interruption must not be catched. [0a2431099897] * scapy.py: Added srflood() and srpflood() [28c2a2d96939] * scapy.py: Added missing nofilter parameter to sr() [1c96aa0a6bb1] * scapy.py: Added sndrcvflood() internal function [6813008e43ed] * scapy.py: Made packet list object constructor accept no param, like done on PacketList [a43f4c35a8a3] 2007-03-01 phil * scapy.py: Fixed UDP/TCP checksum computation when L4 padding is present [af1fd90589d1] 2007-02-17 Phil * scapy.py: Changed hexdiff() default granularity to 5 [0197845b4ed7] 2007-02-13 Phil * scapy.py: Fix: replaced use of hex() in X*Fields by new lhex() function lhex() supports lists, tuples, lists of tuples, etc. [93aa17c8d3d9] 2007-02-12 Phil * scapy.py: Fixed bug in Packet.__getattr__() The search for the field value was done recursively while the field object search was only local. This prevented i2h() to be called when the asked field was not in the first layer. [fa893b5407f9] 2007-02-11 Phil * scapy.py: Fixed ColorTheme.__getattr__() to raise AttribueError on undefined internal methods [8b5f4902501a] * scapy.py: Fixed RastaTheme left/right color style [2080fe20c66c] 2007-02-10 Phil * scapy.py: Add colorization to hexdiff [289c57326972] * scapy.py: Added "left" and "right" styles to color themes [c2e6c0730fb0] * scapy.py: Small adjustment to hexdiff() algorithm for to better diff latest bytes [1f56417f6dca] * scapy.py: Improved hexdiff() dump [86df130f4e08] * scapy.py: Added hexdiff() command to diff 2 binary strings [02e78d7c2881] 2007-02-08 pbi * scapy.py: Added overlap_frag() [458d515e8dad] 2007-02-07 Phil * scapy.py: Replaced Exception by Scapy_Exception [5dd729613155] 2007-02-05 Phil * scapy.py: defrag(): Redissected packets after defragmentation [5dd5d09de88f] 2007-02-02 Phil * scapy.py: Added defrag() function [86ec0419acc4] * scapy.py: Improved fragment() function We can now pass any lower layers, len and chksum fields are deleted and flags (DF/evil) are kept in fragments [79e4af7043ab] 2007-01-29 Phil * scapy.py: Fixed IntAutoTime._fix() [ce7c41c7d4de] 2007-01-28 Phil * scapy.py: Fixed padding assembly logic (Ticket #28, abo) [ae3061162a73] * scapy.py: Added SNAP/STP layer bond (ticket #22) [4d8d1980a9a5] * scapy.py: Added chexdump() function to print a C list of bytes from a string or a packet [f3315ac909a4] * scapy.py: Fixed IP over IP layer bond (ticket #27) [065e42bad76c] 2007-01-27 Phil * scapy.py: Catch IO errors when writing history and save it elsewhere in a tmp file [b694bbbeb77b] * .hgsigs: Added signature for changeset 1fe855059e5c67fdd8984045916dc959b7688881 [294bcd74827a] * .hgtags: Added tag v1.0.6.1 for changeset e164cf76ae7d [1fe855059e5c] * scapy.py: Release 1.0.6.1 [e164cf76ae7d] [v1.0.6.1] * scapy.py: Changed version numbering. Now versions will be set manually before a release. Commits between 2 versions will be tracked with their hg revision. [acbc88a02a16] * scapy.py: Removed inline changelogs [22a630624245] * .hgtags: Added all version tags from RCS import [23396981eca9] 2006-12-12 pbi * scapy.py: - changed default conf.checkIPID value to 0 [2621c22c23af] [v1.0.5.20] * scapy.py: - added ESNinfo tag to Dot11Elt() [256f076c177d] [v1.0.5.19] 2006-11-30 pbi * scapy.py: - removed forgotten print in PacketList.sr() [e6907601842b] [v1.0.5.18] 2006-11-29 pbi * scapy.py: - added RandOID() [b44e399bd57e] [v1.0.5.17] * scapy.py: - added RandNumGamma(), RandNumGauss() and RandNumExpo() to change a bit from linear distributions [67b059c59497] [v1.0.5.16] * scapy.py: - added RandChoice() volatile value [24c96f464282] [v1.0.5.15] 2006-11-28 pbi * scapy.py: - fixed 802.3 decoded as Ethernet if length is 1500 [e096db8010d2] [v1.0.5.14] 2006-11-27 pbi * scapy.py: - fixed bug in Ether_Dot3_Dispatcher() (P. Lalet) [b0223c45d952] [v1.0.5.13] 2006-11-20 pbi * scapy.py: - fixed bug in IncrementalValue() [98adaaf5fea0] [v1.0.5.12] 2006-11-17 pbi * scapy.py: - argl. Forgot a print. [37554c886155] [v1.0.5.11] 2006-11-16 pbi * scapy.py: - have L3PacketSocket work when sending packets on tun interfaces [e3578a8ca826] [v1.0.5.10] * scapy.py: - added wireshark() function to lauch wireshark on a packet list [81ec8d214442] [v1.0.5.9] * scapy.py: - added ISAKMP flags decoding - do not try to decode payload if ISAKMP says payload is encrypted [a5740957b545] [v1.0.5.8] 2006-11-09 pbi * scapy.py: - fixed EAP [4f03a736c3b7] [v1.0.5.7] * scapy.py: - new split/bind_layer() semantic : bind_layer(IP, UDP, frag=0, proto=17) Still compatible with old one. [7eeeab6975ed] [v1.0.5.6] 2006-10-25 pbi * scapy.py: - PacketList() constructor's list parameter is now optionnal [79578f9b42ab] [v1.0.5.5] 2006-10-23 pbi * scapy.py: - replaced PacketListField equality test in Packet.show() by a more generic islist=1 and holds_packets=1 [c6ad1efe9494] [v1.0.5.4] * scapy.py: - removed references to class name into Ether.mysummary() [b4bfff58ca39] [v1.0.5.3] * scapy.py: - added restart parameter to IncrementalValue to provide a value after which to restart [52b35e527f01] [v1.0.5.2] 2006-10-19 pbi * scapy.py: Release 1.0.5 [e1a1590716bf] [v1.0.5.1] 2006-10-17 pbi * scapy.py: - fixed ScapyFreqFilter (ticket #19) [b20b92e99c4a] [v1.0.4.106] * scapy.py: - added 'count' parameter to send()/sendp() and __gen_send() to send the same set of packets a given number of times [644b36f61414] [v1.0.4.105] * scapy.py: - added alternative 'n' parameter to corrupt_bits() and corrupt_bytes() to specify how much bits/bytes to corrupt, instead of working with percentages [213d2fd8c085] [v1.0.4.104] 2006-10-06 pbi * scapy.py: - added doc strings to Field class (ticket #14) [9e76d91f3500] [v1.0.4.103] * scapy.py: - added my_globals parameter to autorun_commands() and all autorun_get_*() (ticket #15) [375e2eef648d] [v1.0.4.102] * scapy.py: - used get_it() in get_if_raw_addr() - made interfaces with no IP return 0.0.0.0 (ticket #16) [4055c2b49fae] [v1.0.4.101] * scapy.py: - removed all inconsistencies (ticket #17) [882c20997291] [v1.0.4.100] * scapy.py: - fixed typo in ISAKMPAttributeTypes (ticket #13) [4473959a9143] [v1.0.4.99] * scapy.py: - added additionnal DHCP Options (ticket #11) [7a178e82af34] [v1.0.4.98] * scapy.py: - fixed DHCPtypes value (ticket #10) - added new DHCPtypes values [c4ac9ed05d3d] [v1.0.4.97] * scapy.py: - fixed WEP building (broken since 1.0.4.86) [7d5c3acc5625] [v1.0.4.96] * scapy.py: - moved payload building call into a hookable method outside Packet.do_build() [68a336f6276e] [v1.0.4.95] * scapy.py: - now import Set object to have it on hand [13bd07bf3110] [v1.0.4.94] * scapy.py: - moved field initialization from default valies from Packet.__init__() to Packet.init_fields() [c144a1e84ae4] [v1.0.4.93] * scapy.py: - WARNING: internal API change. Packet.do_dissect() now only dissects current layer. Pre/post_dissect hooks and payload dissection are called from Packet.dissect(). [ba49ddb4bbad] [v1.0.4.92] * scapy.py: - added fragmentation informations in IP.summary() [91a7d90afbdf] [v1.0.4.91] * scapy.py: - Packet.name is now automatically set to the class name if not specified [febb8bf4182e] [v1.0.4.90] * scapy.py: - fixed StrFixedLenField.i2len() to return field actual length instead of fixed length that is already known [e93c60a10389] [v1.0.4.89] * scapy.py: - replaced type(x) is type by more correct isinstance(x, type) [3e0b5f01eae4] [v1.0.4.88] * scapy.py: - fix corrupt_bits() probability computation [dd660ad0e707] [v1.0.4.87] 2006-09-23 pbi * scapy.py: - moved payload building from Packet.do_build() to Packet.build() - added post build transform logic so that transformation functions can be applied to a freshly assembled layer [d6117dccb196] [v1.0.4.86] * scapy.py: - modified MutatedBytes/MutatedBits way of working - renamed them CorruptedBytes/CorruptedBits - added corrupt_bytes() and corrupt_bits() functions [ddb8c375349c] [v1.0.4.85] * scapy.py: - improved import_hexcap() to handle more hexdump outputs [37bcfbaaa7e2] [v1.0.4.84] 2006-09-11 pbi * scapy.py: - fixed some glurks is_promisc() - added promiscping() function (A. Brodin) [2a006a79a2ae] [v1.0.4.83] * scapy.py: - added conf.autofragment paramter (default to 1) - added auto IP fragmentation code into L3PacketSocket() to handle "Message Too Long" exceptions [78e1f729dc23] [v1.0.4.82] * scapy.py: - changed sane() to sane_color() and added sane() that does not use color themes - added hexstr() that returns a one line hexdump string from a string [e2ca886b6b40] [v1.0.4.81] * scapy.py: - fixed ISAKMPTransformSetField() to manage fields that should not use TLV encoding but need it - changed N and D ISAKMP payload types to more explicit identifiers: Notification and Delete [14b9ebcbf8df] [v1.0.4.80] * scapy.py: - renamed PacketList.hexdump() to PacketList.rawhexdump() - added PacketList.hexdump() to print and hexdump of all packets topped by a summary of the dumped packet [4e81bbd58682] [v1.0.4.79] * scapy.py: - added MutateBytes() volatile to randomly alter bytes in a string - added MutateBits() volatile class to do random bitflips on a string [9810dfada268] [v1.0.4.78] * scapy.py: - added IncrementalValue() volatile class for sequence number fields [c750fc43e0c9] [v1.0.4.77] * scapy.py: - Use random.randrange() instead of random.randint() for RandNum() - RandInt() now reaches 2**32-1 - added RandSInt() and RandSLong() for signed values [84b811ec6557] [v1.0.4.76] * scapy.py: - Entries in arp_cache are now permanent if they have 0 or None instead of timeout [e7fc0f392484] [v1.0.4.75] 2006-08-27 pbi * scapy.py: - tweaked make_*_table() to add horizontal separation lines [68761485dfac] [v1.0.4.74] * scapy.py: - added multiplot to plot many series from the same packet list. The function must returns a couple whose first element is the label of a serie and the second is the data to plot. [5fa1845b4b17] [v1.0.4.73] * scapy.py: - WARNING: API change. crc32() is now the zlib function. crc32(0xffffffffL, s) --> ~crc32(z)&0xffffffffL [b21bc75ee799] [v1.0.4.72] * scapy.py: - fixed possible failures in DNS.summary() [108de3718308] [v1.0.4.71] * scapy.py: - improved L3PacketSocket to build the list of interfaces only when needed (promisc=1) [c68be56005e7] [v1.0.4.70] * scapy.py: - added gz parameter to PcapWriter (and thus wrpcap()) to gzip captures - added abilty to read gzipped pcap files in PcapReader (and thus rdpcap()) [65b6a177219f] [v1.0.4.69] * scapy.py: - changed Net representation for it to work with Packet.command() [300a9d7daffa] [v1.0.4.68] * scapy.py: - added diffplot() to PacketList to plot a function of couples (l[i],l[i+delay]) [374ce9dc41f7] [v1.0.4.67] * scapy.py: - added prototype to psdump() and pdfdump() docstring [78b768045af0] [v1.0.4.66] * scapy.py: - have srloop() and srploop() return results of all probes [e05a0026b50b] [v1.0.4.65] 2006-08-11 pbi * scapy.py: - patched getmacbyip() to handle IP multicast and return the right MAC multicast [2964c9ab3af4] [v1.0.4.64] * scapy.py: - fixed lambda filtering in PacketList.plot() [23a94a4b0fc9] [v1.0.4.63] * scapy.py: - fixed reinstantiation of a PacketList as parameter to another PacketList [7b6c70a90d6e] [v1.0.4.62] * scapy.py: - added docstring to route.delt() [37c42fee817e] [v1.0.4.61] * scapy.py: - fixed /proc/net/route parsing to handle reject routes [6118c41fc594] [v1.0.4.60] 2006-08-05 pbi * scapy.py: - added ActionField(): a wrapper to put arround a field that will trigger the call of a method each time a value is manually set into a field [e2b2d66e8ade] [v1.0.4.59] * scapy.py: - fix: moved call to superclass' constructor in EnumField's constructor [500ecfa368a4] [v1.0.4.58] 2006-07-28 pbi * scapy.py: - fixed get_if_hwaddr() exception catching in SourceMACField and ARPSourceMACField [35ccb7347533] [v1.0.4.57] * scapy.py: - fixed typo in inet_pton [b7b8150489a0] [v1.0.4.56] 2006-07-19 pbi * scapy.py: - fix: ls() look for Packet subclasses in both globals() and __builtin__ [3cd60a896103] [v1.0.4.55] * scapy.py: - forced _ special variable initisalization to None in autorun_commands() [dfcb5b641819] [v1.0.4.54] 2006-07-17 pbi * scapy.py: - replaced getattr() by Packet.getfieldval() in FieldLenField.i2m() [ca37d7a18bf8] [v1.0.4.53] * scapy.py: - improved MACField.i2m() [c33338185b86] [v1.0.4.52] * scapy.py: - changed Packet.__iter__() to clone unrolled packets without transforming fields values through i2h() and h2i() [35202a97b487] [v1.0.4.51] * scapy.py: - added Packet.getfieldval() and NoPayload.getfieldval() to return the internal value of a field - changed Packet.__getattr__() to use Packet.getfieldval() - changed do_build, do_build_ps, guess_payload_class, __eq__, haslayer, getlayer to use Packet.getfieldval() [6a4810b7dd7d] [v1.0.4.50] * scapy.py: - fixed little endian fields for big endian machines (replaced @ by <) [db4d5d808530] [v1.0.4.49] * scapy.py: - simplified PacketListField.addfield() [51fbc52cf60d] [v1.0.4.48] * scapy.py: - simplified Dot11SCField.is_applicable() [7b10989f2a1c] [v1.0.4.47] * scapy.py: - added __nonzero__() methods to Packet and Payload for the first to be true and the second to be false without assembling the packet [8e1122240ef0] [v1.0.4.46] * scapy.py: - fixed Ether_Dot3_Dispatcher() to make it work with no arguments [cf96fa2820d8] [v1.0.4.45] 2006-07-13 pbi * scapy.py: - Fixed 3BytesField assembling (N. Bareil, ticket #6) [2864c2ff80df] [v1.0.4.44] 2006-07-12 pbi * scapy.py: - fixed docstring of Packet.post_dissection() [1f79df8b8a98] [v1.0.4.43] * scapy.py: - added Packet.from_hexcap() class method [cb25cefa56da] [v1.0.4.42] * scapy.py: - added a Packet.pre_dissect() hook [2941b2724ead] [v1.0.4.41] * scapy.py: - Added a Ether/802.3 dispatcher for "Ethernet" linktype - 802.1q use LLC payload if type < 1500 - enhanced Dot3.mysummary() [01d4103f126f] [v1.0.4.40] 2006-07-11 pbi * scapy.py: - fixed Dot11.answers() behaviour for management frames (L. Butti, ticket #5) [96e6836e89b4] [v1.0.4.39] * scapy.py: - fixed endianness of some 802.11 fields (L. Butti, ticket #3) [3bc29bd44f0d] [v1.0.4.38] * scapy.py: - removed SC field from 802.11 control frames (L. Butti, ticket #4) [986cd7839cca] [v1.0.4.37] * scapy.py: - fixed TCPOptionsField to support SAck option (P. Lindholm, ticket #3) - strengthened TCPOptionsField against bad options [3ce508afd422] [v1.0.4.36] * scapy.py: - fix typo [fbb5acfc91a8] [v1.0.4.35] 2006-06-23 pbi * scapy.py: - improved error message details for get_if_hwaddr() [254db3617aae] [v1.0.4.34] * scapy.py: - arping() function can update ARP cache if parameter cache=1 (D. Schuster, ticket #2) [7e05cde68e63] [v1.0.4.33] * scapy.py: - fixed: overloaded volatile fields were not fixed for sending [6b0849429083] [v1.0.4.32] 2006-05-27 pbi * scapy.py: - fixed possible loop in TCP options [a7b5a432c79a] [v1.0.4.31] 2006-05-25 pbi * scapy.py: - added split_layers(), split_top_down() and split_bottom_up() to undo the effects of bind_layers(), bind_top_down() and bind_bottom_up() [c05b9a77e84a] [v1.0.4.30] * scapy.py: - added missing SPI field for ISAKMP_payload_Proposal [5e2008726f83] [v1.0.4.29] * scapy.py: - almost reversed Field.h2i() removal patch (1.0.4.25) (changed my mind :)) - had Field.any2i() use Field.h2i() [b34f203ddc9e] [v1.0.4.28] 2006-05-24 pbi * scapy.py: - enhanced Packet.__getattr__ prettiness [becd1a00092d] [v1.0.4.27] * scapy.py: - enhanced prettiness of DNSRRCountField [16cd1503cd39] [v1.0.4.26] * scapy.py: - removed h2i() methods from Field API [e0e80331cd86] [v1.0.4.25] 2006-04-29 pbi * scapy.py: - added next_payload value overloading for ISAKMP layers [98b2d3f3d5a9] [v1.0.4.24] * scapy.py: - removed forgotten debug prints.. [c5c6ab1b2155] [v1.0.4.23] * scapy.py: - fixed ISAKMPTransformSetField - fixed ISAKMP_payload_Transform length calculation [c6de1dc2099e] [v1.0.4.22] * scapy.py: - WARNING: Field API changed. parameter shift must be now provided to the length-varying field and not to the length field. - added Field.i2len() method to return the length of a field (the number of bytes in the raw packet string) [0fb3aec33b39] [v1.0.4.21] 2006-04-28 pbi * scapy.py: - fixed some problems with Packet.haslayer()/getlayer() for empty and list fields - reduced Packet.haslayer()/getlayer() speed overhead to the same level as older versions [33df08f17c10] [v1.0.4.20] 2006-04-26 pbi * scapy.py: - fixed (again) filter attaching on linux/amd64 (W. Robinet) [80d4748b780b] [v1.0.4.19] * scapy.py: - fixed Dot11WEP default icv value [936861050169] [v1.0.4.18] * scapy.py: - ATTENTION: API change: Packet.post_build() now takes current assembled layer and assembled payload separately. Thus the new prototype: post_build(self, pkt payload) -> pkt. post_build() is in charge to join current layer and payload. Old API will work for a small transition time. [2ca14f7e5bdb] [v1.0.4.17] 2006-04-25 pbi * scapy.py: - added internal _iterpacket parameter to SetGen to prevent iteration over Packet instances - bugfix: prevented iteration over Packet instances in Packet.getlayer/haslayer/show() [2ca5b6260c3c] [v1.0.4.16] 2006-04-24 pbi * scapy.py: - added NetFlow v1 protocol layer (M. Geli) [8893d928cdfe] [v1.0.4.15] * scapy.py: - big ISAKMPAttributeTypes update (W. McVey) - changed ISAKMPTransformSetField to dissectTLV attributes (W. McVey) - changed ISAKMPTransformSetField to assemble TLV attributes - fixed ISAKMPTransformSetField to handle broken packets [7eab77447683] [v1.0.4.14] 2006-04-23 pbi * scapy.py: - big p0f update (P. Lalet) [6831719ab806] [v1.0.4.13] 2006-04-20 pbi * scapy.py: - fixed a bug with alias_type in Packet.guess_payload_class() when a field exists only in the alias class [d6321c20f04c] [v1.0.4.12] * scapy.py: - enhanced LaTeXTheme2: used \bfseries and added colors to styles fail, success and even [2626f9f53305] [v1.0.4.11] * scapy.py: - fixed SetGen to better test int couples for intervals [be7f6aa8af7b] [v1.0.4.10] 2006-04-10 pbi * scapy.py: - use None value to specify timeout must be calculated in __sr_loop() [8f06dc61f6ca] [v1.0.4.9] 2006-04-09 pbi * scapy.py: - added PacketListField.do_copy() - modified fuzz() to handle PacketListField [cb43d84916be] [v1.0.4.8] 2006-04-08 pbi * scapy.py: - added PacketListField whose length come from another fiekd - changed Packet.haslayer(), Packet.getlayer() and Packet.show() to handle PacketListField [77d6fdeb8d83] [v1.0.4.7] 2006-04-02 pbi * scapy.py: - modified getlayer() to accept "LAYER.field" parameters to enable format strings' % operator to work : "dst=%(IP.dst)s dport=%(TCP.dport)04i" % pkt [2de4cd64f957] [v1.0.4.6] * scapy.py: - added __mul__() and __rmul__() operators to handle multiplication with an int [014cc13252e6] [v1.0.4.5] 2006-03-27 pbi * scapy.py: - added missing fileno() to PcapReader and PcapWriter [8aac6b646c7b] [v1.0.4.4] 2006-03-22 pbi * scapy.py: - use binary mode to open files (Windows needs that...) [91c9100d547d] [v1.0.4.3] * scapy.py: - replicated packet creation time when unrolling an implicit packet [a354a3cbfc3f] [v1.0.4.2] 2006-03-17 pbi * scapy.py: Release 1.0.4 [a4db31e66d4c] [v1.0.4.1] * scapy.py: - added docstring for TracerouteResult.trace3D() [fe3221966164] [v1.0.3.34] 2006-03-14 pbi * scapy.py: - added equality tests between two packets. [1b92c32343cc] [v1.0.3.33] * scapy.py: - added a timeout parameter to sniff() [924204051341] [v1.0.3.32] * scapy.py: - removed deprecated Packet.send() [3455a36f1d84] [v1.0.3.31] * scapy.py: - fix indentation quirk [cf9e275b2a04] [v1.0.3.30] * scapy.py: - removed forgotten print in Packet.trace3D() [395aacb39c10] [v1.0.3.29] 2006-03-12 pbi * scapy.py: - made Packet.getlayer() and Packet.haslayer() also work with class names - got rid of Packet.haslayer_str() [91d9e64ac9b7] [v1.0.3.28] * scapy.py: - improved Packet.getlayer(), Packet.haslayer() and Packet.haslayer_str() to look into PacketFields. [d866ddcd8642] [v1.0.3.27] 2006-03-09 pbi * scapy.py: - removed bad loop in L3PacketSocket and L2Socket when discarding outgoing packets (W. McVey) [fbc16ff4f1a5] [v1.0.3.26] * scapy.py: - added Ctrl-Click to TracerouteResult.trace3D() to scan an IP [10ffcb24e893] [v1.0.3.25] 2006-02-28 pbi * scapy.py: - added a "trans" parameter to colgen to handle automatic specific conversions into color object - used colgen() in Packet.canvas_dump() [c70519b7be3b] [v1.0.3.24] * scapy.py: - removed makecol() from TracerouteResult.graph() [25cb713e29a0] [v1.0.3.23] * scapy.py: - turned makecol() TracerouteResult.graph()' internal function into colgen() generator tool [5fec551d54df] [v1.0.3.22] * scapy.py: - added TracerouteResult.trace3D() to have a 3D traceroute visualization with VPython [656244220e3b] [v1.0.3.21] 2006-02-27 pbi * scapy.py: - added get_trace() method to TraceouteResult() to extract traceroute data [1214f6a46ce5] [v1.0.3.20] * scapy.py: - Fixed Dot11Beacon's fields' endianness (G. Lukas) [fe4246463a02] [v1.0.3.19] * scapy.py: - factorised tex_escape() function from ps/pdfdump() - added LatexTheme2 for autorun_get_latex_interactive_session() - escape stuff in autorun_get_latex_interactive_session() [6051da9476e1] [v1.0.3.18] 2006-02-22 pbi * scapy.py: - added config.prog to reference external program pathes [94dd39ac08bd] [v1.0.3.17] * scapy.py: - added afterglow clone attempt (http://sourceforge.net/projects/afterglow) [18bf7ed346b3] [v1.0.3.16] * scapy.py: - added prog parameter to do_graph() [279223150ca9] [v1.0.3.15] 2006-02-21 pbi * scapy.py: - removed hard dependancy on libreadline. Now works even if no libreadline is installed [86e750142bb6] [v1.0.3.14] 2006-02-19 pbi * scapy.py: - fixed show()'s indentation [35384091733b] [v1.0.3.13] * scapy.py: - many docstrings corrections [fb086d06aee5] [v1.0.3.12] 2006-02-17 pbi * scapy.py: - improved show() to use an exploded view for fields which hold packets - added show_indent flag to Packet() that can be overloaded to 0 for layers that are followed by peers and for whom indentation in show() is not desired [c4413d5d1286] [v1.0.3.11] * scapy.py: - changed conversation parameter to group getsrc/getdst into getsrcdst [5453be958d15] [v1.0.3.10] * scapy.py: - added docstrings for PacketList [e7dfcc069353] [v1.0.3.9] 2006-02-16 pbi * scapy.py: - added docstrings to sr*(), wrpcap(), rdpcap() [34e82bbe42e1] [v1.0.3.8] * scapy.py: - fixed conf.BTsocket assignment BluetoothSocket BluetoothL2CAPSocket [b3fccab17c99] [v1.0.3.7] * scapy.py: - added docstrings to many methods of Packet [db37dd4e7d0d] [v1.0.3.6] * scapy.py: - added BluetoothHCIsocket - added L2socket to sniff - added HCI_Hdr, L2CAP_Hdr layers, moved L2CAP to L2CAP_HdrCmd [861eb26df895] [v1.0.3.5] 2006-02-12 pbi * scapy.py: - initialize payload's underlayer before payload's dissection [a163efb0e3c1] [v1.0.3.4] 2006-01-28 pbi * scapy.py: - added shortcut to PacketList to extract a given protocol with []. ex : lst[ICMP] [04f91dab0981] [v1.0.3.3] * scapy.py: - removed useless (and racy) __del__() methods from PcapReader and PcapWriter [45ecac03b30b] [v1.0.3.2] * scapy.py: Release 1.0.3 [4c53b3ff00af] [v1.0.3.1] * scapy.py: - tweaked ls() for add-on classes to appear in the listing [92fa211495a4] [v1.0.2.37] * scapy.py: - replaced remaining occurences of use of display() [deprecated, use show()] - removed URL from dummy IPv6 classes names [0477530ce4cf] [v1.0.2.36] 2006-01-17 pbi * scapy.py: - finished Packet.canvas_dup() escape() function. Every char is correctly translated into TeX [fc7898a11235] [v1.0.2.35] 2006-01-15 pbi * scapy.py: -added information-request and information-response to ICMP types (J. Bowie) [c2f741554ba4] [v1.0.2.34] * scapy.py: - fixed NetBIOSNameField incorrect length calculation (J. Bowie) [7db3a1f9f30a] [v1.0.2.33] 2006-01-14 pbi * scapy.py: - added missing _IPv6optionHearder dummy class - removed useless IPv6_instace() function [50f88d1a6291] [v1.0.2.32] 2006-01-12 pbi * scapy.py: - fixed 1.0.2.29 collision fix (s/mtu/mtu_present/) [da65f74bddf0] [v1.0.2.31] 2006-01-11 pbi * scapy.py: - fixed endianness problems in PcapReader() - fixed PcapReader.read_all() - added missing try/except to PcapReader.read_packet() - removed PcapReader.read_PacketList() (read_all() already returns a PacketList) - removed debug "print" from PcapWriter() - added endianness parameter in PcapWriter() [fba0ebabab72] [v1.0.2.30] * scapy.py: - added Solaris support (wit help from S. Despret) - added Solaris missing IPPROTO_GRE - changed read_routes() to work with Solaris netstat - fixed read_route() local variable collision (mtu became mtu_present) - changed variable fl to flg [392a6c9e9e1e] [v1.0.2.29] 2006-01-05 pbi * scapy.py: - re-added indentation in Packet.show(). Can be tweaked with "indent" parameter [8186dcfe5ca4] [v1.0.2.28] 2006-01-04 pbi * scapy.py: - added missing try/except arround dissection in rdpcap() [1977804ef80a] [v1.0.2.27] 2005-12-22 pbi * scapy.py: - strengthened DNS disassembly [43237f71f154] [v1.0.2.26] * scapy.py: - have scapy work if Python IPv6 support is not compiled in socketmodule [f91d7a843585] [v1.0.2.25] * scapy.py: - aliased socket.inet_ntoa into local namespace for consistency with other ?to? [1e675e718714] [v1.0.2.24] * scapy.py: - fixed and enhanced autorun_commands() [c469706c4e79] [v1.0.2.23] 2005-12-21 pbi * scapy.py: - fixed bug introduced by fix 1.0.2.19 on _ [f92cc3af5d7d] [v1.0.2.22] * scapy.py: - added Packet.get_field() to get a field instance from its name - modified some fields to use Packet.get_field() instead of a complex operation [eb03fe2246c6] [v1.0.2.21] 2005-12-19 pbi * scapy.py: - added FieldListField to create arrays of fields whose number is given in a FieldLenField [8831a4ce4797] [v1.0.2.20] 2005-12-18 pbi * scapy.py: - fixed uninitialized _ in autorun_commands() [2cde93a2c7cd] [v1.0.2.19] 2005-12-17 pbi * scapy.py: - Changed ColorTheme class be usable - Added NoTheme class - added autorun_get_text_interactive_session() - added autorun_get_ansi_interactive_session() - added autorun_get_latex_interactive_session() (miss some special chars filtering) [0523004907cf] [v1.0.2.18] 2005-12-15 pbi * scapy.py: - IPv6 migration step 1: integrate some IPv6 routing stuff for IPv6 fork to work as an add-on [c79990a03b9c] [v1.0.2.17] 2005-12-07 pbi * scapy.py: - added fallbacks if tcpdump can't be run and libpcap is not used [4d48b402a36d] [v1.0.2.16] * scapy.py: - fixed socket filter pushing for x86_64 arch. (W. Robinet) [5cc669313b06] [v1.0.2.15] 2005-12-06 pbi * scapy.py: - added conf.check_TCPerror_seqack (default 0) to relax ICMP error matching for TCP packets (some broken PIX play with sequence numbers and forget to tidy them up) [0e8f817d477d] [v1.0.2.14] 2005-11-26 pbi * scapy.py: - added code to run interactive sessions automatically [b08b2f6dfaa7] [v1.0.2.13] * scapy.py: - catch exceptions in ColorPrompt from bad color theme to avoid program termination [cef6851a1f2b] [v1.0.2.12] * scapy.py: - added class HTMLTheme2 with trigram instead of '<' and '>' to easily convert others into < and > [5bd907cee433] [v1.0.2.11] 2005-11-20 pbi * scapy.py: - improved a bit error handling of import dnet/pcap - made INFO messages for missing files a bit more clear [b6cb38699414] [v1.0.2.10] 2005-11-19 pbi * scapy.py: - handle API change between pylibpcap 0.4 and 0.5 [dfe6d57f4454] [v1.0.2.9] 2005-11-17 pbi * scapy.py: - changed Packet.sprintf() format string specificator to accept only the field name and take the currend layer [031bef74c6f3] [v1.0.2.8] * scapy.py: - added onlyasc parameter to linehexdump() - added onlyasc parameter to fragleak() and fragleak2() [9000ee4e9b3e] [v1.0.2.7] 2005-11-15 pbi * scapy.py: - added Packet.command() to go from a packet instance to the Scapy command to generate it [21a88d763e4f] [v1.0.2.6] * scapy.py: - write history in an atexit registered function [fb060e0155a5] [v1.0.2.5] * scapy.py: - fixed Enum fields for them to work with lists of values [b88cfb617dc2] [v1.0.2.4] 2005-11-09 pbi * scapy.py: - added a ColorTheme.__repr__() to fix objects that used it, like conf object! [df149ddb66d1] [v1.0.2.3] * scapy.py: - fixed itom() to return positive values even for big endian platforms - fixed RandIP default __init__ parameter to be 0.0.0.0/0 instead of 0/0 [47055d1477b6] [v1.0.2.2] 2005-11-07 pbi * scapy.py: release 1.0.2 [1742e4e3a0d5] [v1.0.2.1] * scapy.py: - fixed Dot11Auth.seqnum to be little endian - added Dot11Auth.answers() [b778c3749f12] [v1.0.1.13] * scapy.py: - fixed some stuff in the LaTeX color theme [3d9d9cde8db7] [v1.0.1.12] * scapy.py: - added timeout parameter to fragleak() - created fragleak2() [ac42c38e5475] [v1.0.1.11] * scapy.py: - fixed LLC/SNAP binding to overload LLC.ctrl with 3 [78c10e0dfb26] [v1.0.1.10] * scapy.py: - changed Dot11.summary() to show src > dst - added Dot11.answers() [d42abab4e1a6] [v1.0.1.9] * scapy.py: - added DNS.answsers() [656445e55003] [v1.0.1.8] * scapy.py: - added SignedIntField() and LESignedIntField - converted PrismHeader's "signal" field to signed [2f3d0a44e837] [v1.0.1.7] 2005-11-01 pbi * scapy.py: - added hint_iface parameter to sendp() - used hint_iface in arpcachepoison() [14c03e3f7f36] [v1.0.1.6] 2005-10-31 pbi * scapy.py: - added ConditionalField to wrap a field and apply a condition to its presense - added NewDefaultValues metaclass to create new Packet classes from old ones with new default default values - added GRE protocol from rfc2784. (need more work for rfc1701) [daaa8ff1d59c] [v1.0.1.5] 2005-10-27 pbi * scapy.py: - created VolatileValue class to handle volatile values like RandomField - redesigned inheritence of random fields arround VolatileValue - added DelayedEval() volatile value [940598be77ee] [v1.0.1.4] * scapy.py: - Changed color themes handling. Now LatexTheme and HTMLTheme are not ugly hacks anymore. [8c94d50e7b98] [v1.0.1.3] 2005-10-26 pbi * scapy.py: - added CharEnumField() - declared s2i and i2s in EnumField before calling superclass' contructor [869fd173713a] [v1.0.1.2] 2005-10-25 pbi * scapy.py: Release 1.0.1 [f6fbfce4e3fe] [v1.0.1.1] * scapy.py: - added rebuild option to Packet.p{s|df}dump() to dump a packet as- is [52ed7b489a46] [v1.0.0.61] 2005-10-23 pbi * scapy.py: - PacketList.sr() return ( (matched couples), (unmatched packets) ) from the packet list [65092b8bcbec] [v1.0.0.60] * scapy.py: - added layer_shift option to every p{s|df}dump() method to explode hexa dump by layers [43e44d5818f8] [v1.0.0.59] * scapy.py: - return a loopback route when no default route is present. XXX: linux specific! [5438b4adc7c1] [v1.0.0.58] * scapy.py: - split bind_layers() into bind_top_down() and bind_bottom_up() [507aacc36515] [v1.0.0.57] * scapy.py: - fixed dissection errors exception management when conf.debug_dissector is true [68aa3aca2b11] [v1.0.0.56] * scapy.py: - made MACField's default value to be "00:00:00:00:00:00" - fixed DestMACField's default value to be "ff:ff:ff:ff:ff:ff" [e6e32d836b80] [v1.0.0.55] * scapy.py: - fixed Field.randval() to work with string formats and modifiers - fixed fuzz() not to overload default value if field's proposed randval is None [b53151ec43a7] [v1.0.0.54] 2005-10-17 pbi * scapy.py: - uniformized to "lfilter" the paramter name for lambda expressions used as filters - removed a superfluous line in crc32() [bdf287cbdbfe] [v1.0.0.53] 2005-10-15 pbi * scapy.py: - AutoTime() and IntAutoTime() classes that give a field a time dependant value - PacketList.timeskew_graph() should work on SndRcvList() [e8ba15326666] [v1.0.0.52] 2005-10-08 pbi * scapy.py: - added StreamSocket supersocket to emulate a datagram socket on a stream socket that supports MSG_PEEK and whose base layer class knows its own size and put the remaining in Padding() [5b6e10ce8471] [v1.0.0.51] * scapy.py: - remove useless routes in netstat -rn output (P. Lalet) [49309cf301cd] [v1.0.0.50] * scapy.py: - fixed netmask calculations (P. Lalet) [79bc0d79bdf0] [v1.0.0.49] * scapy.py: - use color for packet numbering in nsummary() et al. [42196a7adb16] [v1.0.0.48] 2005-10-06 pbi * scapy.py: - fixed MAC addresses calculation when IP is a Gen() instance (G. Valadon) [9078244343a4] [v1.0.0.47] * scapy.py: - added route.get_if_bcast() to get interface's broadcast address (F. Raynal) - added a check in getmacbyip() to give a broadcast MAC for a broadcast IP - added sndrcv() (thus sr*() family) "multi" parameter to accept many answers from one stimulus. (If stimulus uses a broadcast dst address, you'll need to set conf.checkIPaddr=0) [2e653a91ab54] [v1.0.0.46] * scapy.py: - changed sys.exit() into os._exit() in sndrcv() to prevent children to flush files buffers that would be written a second time by the parent (SJ Murdoch) [3e782bee059e] [v1.0.0.45] * scapy.py: - worked arround (I hope) all FreeBSD/MacOS/pcap issues (look at pcap_get_selectable_fd() note of pcap8 manpage). Thus no more active waits or unseen packets. Still problems to interrupt a capture with ^C on some FreeBSD kernels :( [f42d37b16494] [v1.0.0.44] 2005-10-05 pbi * scapy.py: - added nofilter option to supersockets to handle ethertype filtering for non-linux stuff and for ARP resolution to bypass conf.except_filter [a089dfa8c522] [v1.0.0.43] * scapy.py: - added RandMAC() - added early support for fuzzing - added fuzz() [c1a27408cd1d] [v1.0.0.42] * scapy.py: - modified Packet.__iter__ to also evaluate random defaults fields [629f62b36ee2] [v1.0.0.41] * scapy.py: - filtered more characters for LaTeX in ps/pdf dump - removed character that has magically appeared in DHCP_am [11a655f3112a] [v1.0.0.40] * scapy.py: - fixed StrFixedLenField.addfield() [96a5c6f850d4] [v1.0.0.39] * scapy.py: - overloaded RandFields repr() to give the class name - added RandLong() - added RandBin() to be RandString() for all chars - added RandTermString() - added RandIP default template to be "0/0" [0bbe0254fdd5] [v1.0.0.38] * scapy.py: - more tests in DHCP_am.make_reply() to handle garbage in [623c1bb784e9] [v1.0.0.37] 2005-09-24 pbi * scapy.py: - added a "padding" option to TracerouteResult.graph() to show routers that pad [013a28e4165a] [v1.0.0.36] * scapy.py: - added Packet.psdump() and Packet.pdfdump() - added PacketList.psdump() and PacketList.pdfdump() [49e5fd57ff21] [v1.0.0.35] * scapy.py: - ability to change the BPF filter in traceroute() [9aa8f98d41ef] [v1.0.0.34] * scapy.py: - completed PrismHeader layer [fc84fbbe2c19] [v1.0.0.33] * scapy.py: - deprecated "packet.haslayer(l)" by "l in Packet" - deprecated "Packet.getlayer(l)" by "Packet[l]" [33fe8e74afab] [v1.0.0.32] * scapy.py: - better error message if gnuplot wrapper is missing - fixed subclass test in dissection error treatment - fixed Dot11Elt summary - fixed __sr_loop() to prevent stats calc if no packet have been received - fixed sniff() to break loop at the end of reading a file (offline optoin) [d245c758889b] [v1.0.0.31] 2005-09-13 pbi * scapy.py: - added Dot11Elt.mysummary() for SSID displaying - fixed Enum*.i2repr() [02d10a3f09a0] [v1.0.0.30] * scapy.py: - fix build of packets with more than one padding [a0b629cc5087] [v1.0.0.29] 2005-09-12 pbi * scapy.py: - new hexdump() which displays offsets [4467b3678293] [v1.0.0.28] * scapy.py: - new summary() and mysummary() semantic (backward compatible!) to enable more than one class to be expanded. The higher gives its dependances along with its own summary [4efc0b07c6ec] [v1.0.0.27] * scapy.py: - added ip.dst in ICMP summary() [a4aaea0e81e9] [v1.0.0.26] * scapy.py: - added post_dissection() method, called at the end of the dissection, when the packet is ready - added default_payload_class() called when layer bonds are not sufficient - improved/fixed conf.debug_dissector() which failed when guess_payload_class() returned None [4f2417427478] [v1.0.0.25] 2005-09-08 pbi * scapy.py: - added RandIP() [95cb08e5b327] [v1.0.0.24] * scapy.py: - added conf.debug_dissecto checks where it was missing in SuperSockets - Slice pcap object only once we know its not None ! (N. Peterson) [5a4b2a25f52f] [v1.0.0.23] 2005-09-06 pbi * scapy.py: - made AnsweringMachine() callable instead of using the run() method [34edd8191a19] [v1.0.0.22] * scapy.py: - new logging/warning facility using the logging module [be8d69484d3f] [v1.0.0.21] 2005-08-28 pbi * scapy.py: - 802.11 tweaks [2ed32d53cf50] [v1.0.0.20] * scapy.py: - added Packet.decode_payload_as() [f229ce94ec52] [v1.0.0.19] * scapy.py: - Added XShortEnumField() [ac1cf93620f7] [v1.0.0.18] 2005-08-17 pbi * scapy.py: - fixed crc32() computation for big endian systems [330f5ffe24bd] [v1.0.0.17] * scapy.py: - fix regression introduced in 1.0.0.4 (netstat parsing) [6ca671cda422] [v1.0.0.16] 2005-08-16 pbi * scapy.py: - fixed socket creation/attach filter race condition for L2Socket and L3PacketSocket. No more packets shoud go through the filter. [755086b34a0d] [v1.0.0.15] * scapy.py: - don't return outgoing packets in L2Socket and L3PacketSocket - L2Socket and L3PacketSocket don't catch the exception if conf.dissector=1 [5c7a6d0f5adb] [v1.0.0.14] * scapy.py: - enhanced Packet.summary() code [172001824d5d] [v1.0.0.13] * scapy.py: - keep tcp/udp ports numeric in traceroute result [60cf812e6148] [v1.0.0.12] 2005-08-15 pbi * scapy.py: - added NTP.mysummary() [deba36a21383] [v1.0.0.11] * scapy.py: - fixed Ether.summary() (P. Lalet) [edeb0a3660af] [v1.0.0.10] 2005-08-10 pbi * scapy.py: - moved code to build answering machines' functions into a metaclass [8f93814eee71] [v1.0.0.9] * scapy.py: - added MobileIP protocol (rfc3344 and friends) (B. Andersson) [4e61bb3d9067] [v1.0.0.8] * scapy.py: - changed Ether.mysummary() (P. Lalet) - Update of Sebek protocols (P. Lalet) [9c8e01c3a335] [v1.0.0.7] * scapy.py: - fix problem in declaraion of answering machine functions [69d48a5c4d1b] [v1.0.0.6] * scapy.py: - added resolution of numbers from /etc/ethertypes, /etc/protocols and /etc/services (P. Lalet) - tweaked some mysummary() accordingly [5045840a1975] [v1.0.0.5] * scapy.py: - Better netstat parsing for OpenBSD (P. Lalet) [b9ae1fb06925] [v1.0.0.4] * scapy.py: - fixed regression introduced by previous patch : Gen and Packet are not classes anymore but types. [aca0794e62f1] [v1.0.0.3] 2005-08-09 pbi * scapy.py: - added ChangeDefaultValues metaclass to easily make a variant of a protocol [47493f2198c8] [v1.0.0.2] * scapy.py: Release 1.0.0 [f677f35e32ba] [v1.0.0.1] * scapy.py: 1.0 release [e1357c4b2694] [v1.0] * scapy.py: - nothing [6730ee207679] [v0.9.17.110] 2005-08-08 pbi * scapy.py: - replaced use of __builtins__ by globals() - promiscuous mode is now default mode - added HTML color theme [eb450381ff62] [v0.9.17.109] 2005-08-05 pbi * scapy.py: - fix: IP fragmentation offset needs to be 0 for payload to be decoded (actually fixed in 0.9.17.106) [9bd4c7f12df2] [v0.9.17.108] * scapy.py: - added 'filter' parameter to PacketList.padding() - added PacketList.nzpadding() method - added 'lfilter' parameter to sniff() [431876362c6a] [v0.9.17.107] * scapy.py: - removed scapy module reloading to prepare interactive mode - tweaked interact() function, now fully functionnal [b299d284b691] [v0.9.17.106] 2005-07-20 pbi * scapy.py: - small fix nmap database class [143ab9bb981f] [v0.9.17.105] * scapy.py: - modified Packet.guess_payload_class() semantic : added the payload as parameter - fixed TCP.answers() to take in account length of payload - added timeout arg to arping() [90f16b7be438] [v0.9.17.104] 2005-06-07 pbi * scapy.py: - added a try/catch for get_if_hw_addr - fixed the netstat parsing for OpenBSD - changed Dot11WEP's key ID field from "key" to "keyid" [3a71f7ed7f4b] [v0.9.17.103] * scapy.py: - added LEShortEnumField - added L2CAP layer - added Bluetooth supersocket - added srbt() and srbt1() [65f01a7cbda6] [v0.9.17.102] 2005-05-30 pbi * scapy.py: - Fixes for 0.9.17.100 [2c56fd823f4d] [v0.9.17.101] * scapy.py: - added NetBIOS, SMB & Co support (Sebastien Chenevot & Sylvain Sarmejeanne) [8a88f5aa1b2a] [v0.9.17.100] 2005-05-28 pbi * scapy.py: - WEP support and ICV computation [b35844bc5af6] [v0.9.17.99] 2005-05-27 pbi * scapy.py: -fixed a smlal bug in graphic traceroute [8853040187cf] [v0.9.17.98] * scapy.py: - added WEP ciphering to Dot11WEP [f600d967a5a7] [v0.9.17.97] 2005-05-25 pbi * scapy.py: - ability to give a WEP key as an argument to unwep() [a4cdb04801cc] [v0.9.17.96] * scapy.py: - fixed pcap supersockets warnings [b739016a63e2] [v0.9.17.95] * scapy.py: - fixed/cleaned ISAKMP [9b30e0b726d2] [v0.9.17.94] * scapy.py: - fixed Packet.remove_underlayer() args - fixed FieldLenField - added Atheros Prism Header linktype [23ef67fdda5b] [v0.9.17.93] 2005-05-18 pbi * scapy.py: - some voip_play() stuff [9b047cfff62d] [v0.9.17.92] * scapy.py: - added BIOCIMMEDIATE option to fix BSD's BPF/pcap/select() behaviour issues - made PCAP/DNET the default mode, even for Linux (it seems quicker) [4b3412bb443a] [v0.9.17.91] * scapy.py: - purge ARP cache when changing IP address of an interface - fixed loopback interface detection get_if_raw_hwaddr() for dnet - changed a bit Dot11PacketList behaviour - fixed build() overload by EAP class - fixed close()/recv() mix up in L2pcapListenSocket [509de40a06ad] [v0.9.17.90] 2005-05-03 pbi * scapy.py: - DNET/PCAP stuff reordering [29693edc032b] [v0.9.17.89] 2005-05-02 pbi * scapy.py: - made Padding not be seen as a payload [3c8cdc6a5689] [v0.9.17.88] 2005-04-29 pbi * scapy.py: - added L2 recognition for L2pcapListenSocket - workarround for a bug in libpcap/wrapper?. .next() sometimes returns None - added consistant get_if_addr() and get_if_raw_addr() - added ifadd(), ifdel() and ifchange() methods to Route class [0b0aa83d5ebe] [v0.9.17.87] 2005-04-27 pbi * scapy.py: - small code cleaning [51544dc059e5] [v0.9.17.86] * scapy.py: - early BSD port with libdnet and libpcap wrappers [df59e1952290] [v0.9.17.85] 2005-04-24 pbi * scapy.py: - added a usable geolocation database from GeoIP. [cfb9cfce91c2] [v0.9.17.84] * scapy.py: - fixed fragment() (Peter Hardy) [c97abffc161e] [v0.9.17.83] 2005-04-23 pbi * scapy.py: - fixed sndrcv() when given an empty set of packets [3888c85dd8da] [v0.9.17.82] * scapy.py: - Some Sebek layers fixes (Pierre Lalet) [771fa33986d5] [v0.9.17.81] * scapy.py: - Early IrDA support (Pierre Lalet) [5cba6169a19f] [v0.9.17.80] * scapy.py: - fixed SebekV1 and SebekV2 (Pierre Lalet) [dec34cd60913] [v0.9.17.79] * scapy.py: - fixed BitField (Pierre Lalet) [548e3d8935e6] [v0.9.17.78] * scapy.py: - added threshold for warnings [d83c2165b787] [v0.9.17.77] * scapy.py: - Renamed SndRcvAns into SndRcvList [d2d4f76cbc55] [v0.9.17.76] * scapy.py: - added color display in srloop() [ee192e3d5aab] [v0.9.17.75] 2005-04-22 pbi * scapy.py: - fixed dhcp_request() - changed make_table semantic : take one lambda instead of 3 - fixed import_hexcap() - fixed StrLenField - changed traceroute() and arping() to also return unanswered packets - ls() now sorts its output alphabetically - LaTeX color theme for straight copy/paste into your doc. [7c329e284562] [v0.9.17.74] 2005-04-15 pbi * scapy.py: - fixed ARP.answers()' return value - made TracerouteResult.graph() use both ASN information source [281be7c45c53] [v0.9.17.73] 2005-04-09 pbi * scapy.py: - fix route.route() to handle extended IP sets (ex. 192.168.*.1-5) - generalised statistics in packet lists - added Dot11PacketList() - added some DHCP options - fixes in DHCP options building - modified unwep() to decrypt a WEP packet if it was not already done [fee79366187c] [v0.9.17.72] 2005-04-06 pbi * scapy.py: - forgotten debug msg in Net() [38e0de8f56c3] [v0.9.17.71] 2005-04-04 pbi * scapy.py: - modified Net() to recognize things like 172.16.*.1-10 [db9f828cbef4] [v0.9.17.70] * scapy.py: - fix DHCP - added dhcp_request() [90070aba4a43] [v0.9.17.69] 2005-03-28 pbi * scapy.py: - first attempt with time skew graphing [41ef5d23ec97] [v0.9.17.68] * scapy.py: - use gzip compression for load_object/save_object - made RandNum() and Emph() pickable - changed prompt color in default color theme [7601c507dcb3] [v0.9.17.67] * scapy.py: - more DHCP work [bc70680a8e4c] [v0.9.17.66] * scapy.py: - first attempt to generate libnet C code from a packet [3cf7f715f856] [v0.9.17.65] * scapy.py: - forgot to delete temporary variables in scapy's global scope [f732efbffa0e] [v0.9.17.64] * scapy.py: - added colors, color themes, colored prompt [e606b6f75330] [v0.9.17.63] 2005-03-24 pbi * scapy.py: - made it possible to use a PacketList as a parameter for send* or sr* [48aaa048b4c5] [v0.9.17.62] 2005-03-23 pbi * scapy.py: - used init_cookie for ISAKMP.answers() - raised an exception in route.make_route if parameters are incomplete [665c81a40154] [v0.9.17.61] * scapy.py: - fixed session loading with -s - prevented save_session() to trash current session - changed AnsweringMachine to make send_reply() a bit more generic [04dea51741b1] [v0.9.17.60] 2005-03-22 pbi * scapy.py: - added _elt2show() to PacketList - changed PacketList.show() to use _elt2show() [449e869b0db2] [v0.9.17.59] * scapy.py: - added conversation() to PacketList - added padding() to PacketList - fixed StrNullField - added haslayer_str() to Packet - changed Packet.sprintf() to use haslayer_str - changed answers() to ask payload if same class as other - add count parameter to rdpcap [c81d617c951d] [v0.9.17.58] 2005-03-16 pbi * scapy.py: - added StrNullField [55f8eeb0a796] [v0.9.17.57] 2005-03-14 pbi * scapy.py: - LLNumTypes fix - Added linktype recognition to PcapWriter class [275247a8d931] [v0.9.17.56] * scapy.py: - indentation cosmetic fix [4e26d5c8bc02] [v0.9.17.55] * scapy.py: - wrpcap() now writes the correct linktype in the pcap file [ec5b6c3de7d2] [v0.9.17.54] * scapy.py: - added ISAKMP transforms decoding [19ffb9fa2361] [v0.9.17.53] * scapy.py: - added ikescan() - added ISAKMPTransformField - fixed PacketList's private methods names do begin only with one "_" [b1397eb734bc] [v0.9.17.52] * scapy.py: - added a prn parameter to PacketList's summary() and nsummary() [cadb64438c62] [v0.9.17.51] * scapy.py: - make internal methods of PacketResult begins with __ [21ef3509b40e] [v0.9.17.50] * scapy.py: - Deprecated display() method (for all objects). Use show() instead. [229aafa8a825] [v0.9.17.49] * scapy.py: - Modified PacketField to stop at Padding instead of Raw - Added PacketLenField - More ISAKMP rework. Almost working. [585f71802b76] [v0.9.17.48] * scapy.py: - added unwep() method to Dot11 packets - fixed 4 missing bytes in Dot11WEP [341cba145e6c] [v0.9.17.47] 2005-03-08 pbi * scapy.py: - added a possibility to give a hint for srp() to choose the intended interface - added is_promisc() to find boxes in promisc mode (will not always work) (Javier Merino) [4b51a4dd724b] [v0.9.17.46] * scapy.py: - added PacketField - ISAKMP work [862dadb75b63] [v0.9.17.45] 2005-03-06 pbi * scapy.py: - changed PCAP and DNET defaults [26ef22d1a2d7] [v0.9.17.44] 2005-03-03 pbi * scapy.py: - ISAKMP work [e88e9e6d1e4a] [v0.9.17.43] 2005-03-02 pbi * scapy.py: - added make_world_trace() method to TracerouteResult for a xtraceroute-like [c8e7eba5ec6c] [v0.9.17.42] 2005-02-20 pbi * scapy.py: - Sebek protocol definitions enhancements (Pierre Lalet) [9b7fc441f898] [v0.9.17.41] * scapy.py: - added ARP answering machine (farpd) (Pierre Lalet) [781d70453844] [v0.9.17.40] * scapy.py: - Graphic traceroute enhanced to cope with TCP, UDP, ICMP or other traceroutes - ASN clustering in graphic traceroute can be controlled with the "ASN" parameter [e55885ded669] [v0.9.17.39] 2005-02-18 pbi * scapy.py: - MGCP early support - RandString() [c9fd169f71bc] [v0.9.17.38] 2005-02-10 pbi * scapy.py: - export_object()/import_object() to copy/paste base64 gzipped pickled objects - prevent save_session from deleting unpicklable objects - added hexdump() and hexraw() methods to PacketList object - Raw packet answers any Raw packet - added conf.checkIPaddr to recognize broadcast replies (BOOTP/DHCP) [0e937d17475a] [v0.9.17.37] 2005-02-02 pbi * scapy.py: - added GPRS dummy packet class [7cfe9ec6a595] [v0.9.17.36] 2005-01-28 pbi * scapy.py: - added l4 parameter to traceroute() for UDP, ICMP and other layer 4 traceroutes - tweaked TracerouteResult display() [3e139f2fd1d6] [v0.9.17.35] 2005-01-26 pbi * scapy.py: - removed some outdated functions [bf4f192df1b9] [v0.9.17.34] * scapy.py: - small simplification of TracerouteResult display() thanks to new sprintf() conditionnal statement [8ee7646c7b7b] [v0.9.17.33] * scapy.py: - added conditionnal statements in format strings [0f261bb79da1] [v0.9.17.32] * scapy.py: - removed an uneeded "else" in sprintf() [840048917d14] [v0.9.17.31] 2005-01-22 pbi * scapy.py: - re-added node coloring lost code line in traceroute graphing code [3b879d036093] [v0.9.17.30] * scapy.py: - fixed need for warning() before it was declared [567e49c3b164] [v0.9.17.29] * scapy.py: - added ARPingResult to handle arping() results - moved ARPing displaying logic to ARPing object [0076d22e3c4d] [v0.9.17.28] * scapy.py: - added args todo_graph() - added TracerouteResults object to handle traceroute results - moved traceroute displaying logic to TracerouteResult object - moved traceroute graphing logic to TracerouteResult object [7117b20a0039] [v0.9.17.27] 2005-01-20 pbi * scapy.py: - graph_traceroute : added AS clustering, colors, tweaks [05b588335131] [v0.9.17.26] 2005-01-17 pbi * scapy.py: - added do_graph() to draw GraphViz graphs using SVG output, displayed with ImageMagick - added graph_traceroute() to make a graph from multiple traceroutes - added timeout parameter to traceroute() [3aafe4d4f32f] [v0.9.17.25] 2005-01-13 pbi * scapy.py: - added Sebek v1 and v2 protocols (Pierre Lalet) [2d3b61e72b3f] [v0.9.17.24] 2005-01-10 pbi * scapy.py: - addded promisc and iface parameters to L3RawSocket [44d2e688f5b2] [v0.9.17.23] 2004-12-26 pbi * scapy.py: - Improved PacketList with stability by addition and slicing - Added plot() to PacketList using Gnuplot - Added StrStopField - Added conf.debug_disssector to prevent dissector's exception from being catched - Added CookedLinux packet type - Show linktype number when it is unknown [33db497b54aa] [v0.9.17.22] * scapy.py: - removed strace in soxmix command line - DHCP support (from Mattias Wadman) - added missing make_table to PacketList class - have UDP class asks its payload for answers() [0a3f238a8f31] [v0.9.17.21] 2004-12-01 pbi * scapy.py: - Early WEP support - voip_play() tweaks - Added LEShortField for Dot11 SC field [7391780a41d2] [v0.9.17.20] 2004-10-18 pbi * scapy.py: - HSRP early support - Cisco CSSP Skinny early support - added Little Endian IntEnumField - added filter() method to PacketList - some voip_play() work - loop parameter value in send*() is used as the time to sleep between 2 loops [dcd9749f538e] [v0.9.17.19] 2004-09-21 pbi * scapy.py: - added recv() method to PcapReader to emulate a SuperSocket - added "offline" parameter to sniff() to use sniff on pcap files - removed voip_play_offline() and renamed voip_play_sniff() to voip_play() which is now available to play offline [37eb6396e6b9] [v0.9.17.18] * scapy.py: - added early PPPoE support (Ralf Ertzinger) - fixed DNS summary() to handle empty queries or answers [5f94c1025c5d] [v0.9.17.17] * scapy.py: - added VOIP playing functions (not tested) [63a4f261002d] [v0.9.17.16] 2004-09-17 pbi * scapy.py: - transfert traceroute() and arping() options to sndrcv() ("retry", etc.) - fixed retry option in sndrcv() - tweaked AnweringMachine class - rewrited airpwn to use AnsweringMachine [950ceb5597d0] [v0.9.17.15] 2004-09-13 pbi * scapy.py: - added loopback routing [1ad2b90116b3] [v0.9.17.14] 2004-09-12 pbi * scapy.py: - AnsweringMachine working as I wanted! [41a7ecccfbaa] [v0.9.17.13] 2004-09-10 pbi * scapy.py: - AnsweringMachine twaking - added DNS spoofing answering machine [078eac2be0c6] [v0.9.17.12] 2004-09-08 pbi * scapy.py: - renamed ScapyPcapWriter class to PcapWriter - added linktype parameter to PcapWriter (William McVey) - added PcapReader class (William McVey) [405344e215c8] [v0.9.17.11] * scapy.py: - added some text correspondances to Radius code field [e4ae13862854] [v0.9.17.10] 2004-09-06 pbi * scapy.py: - early radius support [0e378457abe6] [v0.9.17.9] * scapy.py: - added "store" parameter to sniff() - added AnsweringMachine class to handle request/response protocols - replaced bootpd by a AnsweringMachine subclass - created DHCP answering machine draft [24a152d003c8] [v0.9.17.8] 2004-09-03 pbi * scapy.py: - finished airpwn() [4079ca3958f7] [v0.9.17.7] 2004-08-13 pbi * scapy.py: - added first version of airpwn() clone [a5ac461e0c9a] [v0.9.17.6] 2004-08-11 pbi * scapy.py: - added RIP protocol [fcecdb8cdc04] [v0.9.17.5] 2004-08-09 pbi * scapy.py: - added gzip support to sessions saving - can force pickle protocol to inferior values for pickle backward compatility [c387dd79b012] [v0.9.17.4] 2004-08-07 pbi * scapy.py: - fixed self reloading when launched from a different directory - fixed session reloading problems with PacketList() and SndRcvAns() - added load_session(), save_session(), update_session() [885bd37cc0c4] [v0.9.17.3] 2004-07-28 pbi * scapy.py: - added nsummary() method to SndRcvList() class [8e26cf31955e] [v0.9.17.2] 2004-07-26 pbi * scapy.py: Release 0.9.17 [20aa3de2b1ba] [v0.9.17.1] * scapy.py: - added ScapyPcapWriter class (William McVey) [c66be4a29b41] [v0.9.16.18] * scapy.py: - do not need to be named 'scapy.py' anymore - use of PacketList() for rdpcap() and sniff() - fixed a bug in StrFixedLenField - early IKE and ISAKMP support [38c989ded2ee] [v0.9.16.17] 2004-07-16 pbi * scapy.py: - small fix on bootpd [3d79f2cf47a0] [v0.9.16.16] 2004-07-10 pbi * scapy.py: - finished testing ethertype in supersockets to decide wether or not to apply BPF filters [3182bea0825a] [v0.9.16.15] * scapy.py: - do not apply any BPF filter if ethertype is given to a supersocket (so that ARP requests will work whatever the conf.except_filter value is) [a3b172fed54b] [v0.9.16.14] 2004-07-09 pbi * scapy.py: - changed the header and blocked the licence to GPLv2 only [df2afc75f7aa] [v0.9.16.13] * scapy.py: - added an independant routing table (conf.route) and methods to manipulate it - tweaked results stats [8ea0e82c446b] [v0.9.16.12] 2004-07-05 pbi * scapy.py: - wrapper classes for results presentations and manipulation - sndrcv() retry auto adjustment when giving a negative value [51b8cd716a17] [v0.9.16.11] * scapy.py: - added retry option to sndrcv() - improved debug class - added ottl() and hops() methods for IPTools class - improved UDP and ICMP summary() [ad73d849c0a6] [v0.9.16.10] 2004-06-07 pbi * scapy.py: - fix again TCP.answers() and TCPerror.answers() [8549915e29eb] [v0.9.16.9] * scapy.py: - fixed conf.checkIPsrc behaviour of answers() and hashret() for TCP/UDP/TCPerror/UDPerror - added conf.debug_match to keep track of unanswered packets in debug.sent and debug.recv [bea84f9870ba] [v0.9.16.8] * scapy.py: - added LEIntField and StrFixedLenField - added partial PrismHeader support [7dc0259f280a] [v0.9.16.7] 2004-04-29 pbi * scapy.py: - fixed fragment() [faafbe1e14a0] [v0.9.16.6] 2004-03-31 pbi * scapy.py: - fix nmap fingerprint db parsing to handle the new format (Jochen Bartl) [82a98901f81c] [v0.9.16.5] 2004-03-23 pbi * scapy.py: - Support for reading big endian pcap files (Pekka Pietikainen) [fc4ff4fa7abd] [v0.9.16.4] 2004-02-28 pbi * scapy.py: - got rid of some future warnings (N. Bareil ) - improved BitField() for arbitrary length bit fields (N. Bareil ) - NTP protocol (N. Bareil ) [75cdd95fa25b] [v0.9.16.3] 2004-02-22 pbi * scapy.py: added first sketch of a bootp daemon: bootpd() [291552861746] [v0.9.16.2] 2004-01-26 pbi * scapy.py: Release 0.9.16 [676dcda0c24a] [v0.9.16.1] * scapy.py: - added more text for DNS codes [fa598cee7cd9] [v0.9.15.15] 2004-01-15 pbi * scapy.py: - fixed the case where IP field is a list of nets - randomize IPID in traceroute() to work better with conf.checkIPsrc=0 - added make_tex_table() and make_lined_table() - added IPID_count() to identify machines with their IPID - added sport and dport args to fragleak() [5ac7967dfce4] [v0.9.15.14] 2004-01-11 pbi * scapy.py: - srploop() and srloop() improvements [ac133686c215] [v0.9.15.13] * scapy.py: - srloop() and srploop() improvements [65550c3e2488] [v0.9.15.12] * scapy.py: - srloop() and srploop() improvements [464391872ee3] [v0.9.15.11] 2004-01-10 pbi * scapy.py: - added srloop() and srploop() functions [f80753b0f783] [v0.9.15.10] * scapy.py: - added [e43a64b04cbd] [v0.9.15.9] 2004-01-09 pbi * scapy.py: - improved send() and sendp() with parameters loop and verbose [7be90a049fd8] [v0.9.15.8] * scapy.py: - fixed ARP opcodes values [b5560a77ec7e] [v0.9.15.7] * scapy.py: - added RARP and IARP req/resp description in ARP operation Enum field [21bd1be4a162] [v0.9.15.6] 2003-12-19 pbi * scapy.py: - added checkIPID and checkIPsrc options in conf to recognize IP in ICMP errors from broken IP stacks (see conf.__doc__) - changed default TCP source port to 20 (Muahahahah!) - tweaked TCP summary - changed default UDP source and destination ports to 53 - created import_hexcap() to copy-paste an hexcap from tcpdump -xX, and get a string to feed IP() or ARP() or whatever - created make_table() to present results in a table from a list, and functions that map the list to x,y and z=f(x,y). [f60388473fc8] [v0.9.15.5] 2003-10-30 pbi * scapy.py: - little enhancements to the DNS packets - added dyndns_add() and dyndns_del() (rfc2136) - fixed a format string error (3 times) [8d5017f80da2] [v0.9.15.4] 2003-10-16 biondi * scapy.py: - redesign summary() method - fixed Dot11 addresses fields [3b9a48ef3816] [v0.9.15.3] 2003-10-15 biondi * scapy.py: - caching format size (calcsize()) in Field main class - allow first packet desassembly to fail in SuperSockets, falling back to Raw [556453700fd8] [v0.9.15.2] 2003-10-02 pbi * scapy.py: Release 0.9.15 [4d5a03f3a7ab] [v0.9.15.1] * scapy.py: - small fix for p0f_base - lazy loading for p0f, queso and nmap knowledge databases [035e0b424d53] [v0.9.14.8] * scapy.py: - added a LongField - added classes and bonds for 802.11 - added error handling and magic checks for rdpcap() [755254304330] [v0.9.14.7] 2003-09-12 pbi * scapy.py: - had Dot11 working [51522918c5da] [v0.9.14.6] * scapy.py: - added summary() method to Packet objects [a8ee620c867a] [v0.9.14.5] * scapy.py: - added SNAP protocol - catched broken pipe exception when shild die in sndrcv() - fixed default L2socket type in srp() and srp1() (ETH_P_ALL) - fixed format string in attach_filter() [3e57bd05cc7b] [v0.9.14.4] 2003-09-10 pbi * scapy.py: - fixed the fact that bpf filters were generated in cooked mode, and thus did not work - filter on socket type ETH_P_ARP instead of using a bpf filter for ARP replies - fixed the way of handling the SuperSocket close. - uniformised the naming for interface parameter : iface instead of iff - fixed the FutureWarning for long integers - fixed a typo in 3 format strings (%*i instead of %i) [d0b9c977f772] [v0.9.14.3] 2003-07-19 pbi * scapy.py: -added "-i any" for tcpdump to compile filters even if they don't work on main interface - put PPP special case before layer 2 general case in a super socket - added th filter parameter to L3RawSocket - added a special case in getmacbyip() when loopback interface is concernet - added value for RAWIP linktype in pcap capture files [29745c169942] [v0.9.14.2] 2003-06-25 pbi * scapy.py: Release 0.9.14, from 0.9.13.4 [0e02d632cf26] [v0.9.14.1] * scapy.py: - tried to avoid the "import scapy". completer does not work well anymore, and performance is the same [940a189685e2] [v0.9.13.5] * scapy.py: - fixed a regression in L3PacketSocket for ppp links [900955f10857] [v0.9.13.4] 2003-05-31 biondi * scapy.py: - more tweaks on Packet.sprintf(). Added __doc__. [98797621ac0c] [v0.9.13.3] * scapy.py: - small tweaks in Packet.sprintf() [db995e8dee2b] [v0.9.13.2] 2003-05-16 pbi * scapy.py: Release 0.9.13 [e9a3931188a0] [v0.9.13.1] * scapy.py: - fixed verbose parameter in nmap_fp() [bafa2af9f4d7] [v0.9.12.9] * scapy.py: - small enhancements in self-documentation - added early experiemental support for BOOTP and 802.11 [370e0fdb549d] [v0.9.12.8] * scapy.py: - added workarroung python bug 643005 (socket.inet_aton("255.255.255.255")) - use answers() method instead of operator - added hashret() method : returns a hash that is invariant for a packet and its reply - use hashret() in sndrcv() for dramatic improvements for matching replies on big set of packets - change report_ports() to return a string instead of printing [9fb0b71d1605] [v0.9.12.7] * scapy.py: - improved the __repr__() method of Packet class [90a3e5c95cc9] [v0.9.12.6] 2003-05-12 pbi * scapy.py: - added minttl parameter to traceroute() [b0c68b635c63] [v0.9.12.5] 2003-05-06 pbi * scapy.py: - Improved random number object (thanks to O. Poyen) [4ddc00e51440] [v0.9.12.4] * scapy.py: - fixed a name overlap on "type" in L2ListenSocket and L3PacketSocket (thanks to E. M. Hopper) [540b8ec34c02] [v0.9.12.3] * scapy.py: - externalized conversion from probes to signature with nmap_probes2sig() use probe results from, say, a pcap file [e231493d6ec0] [v0.9.12.2] 2003-04-27 pbi * scapy.py: Release 0.9.12 [98579162a65d] [v0.9.12.1] * scapy.py: - Fixed long int conversion in attach_filter() [f9fe000b3a4e] [v0.9.11.5] * scapy.py: - rectification in SetGen to unroll Gen instances in lists - Completed DNS types and qtypes names - Small tuning in nmap_match_one_sig() - Parallelized nmap_sig() [e4c35d490bef] [v0.9.11.4] 2003-04-24 pbi * scapy.py: - removed 4 byte IP string autorecognition. Never used and broken for 4 byte names - added "islist" flag to fields to distinguish a list value from a list of values - changed TCP options from dict to list to preserve order and redundancy - added conf.except_filter, to have every command ignore your own traffic (BPF filter) - worked in progress for nmap OS fingerprint. Added PU test. Fixed other tests. - added nmap_sig2txt() to transform a signature to its text form, suitable for nmap base [caa0d0385ca9] [v0.9.11.3] 2003-04-23 pbi * scapy.py: - small fixes in init_queso() - experimental support of nmap fingerprinting (not complete yet) [2fc96cefd1e9] [v0.9.11.2] 2003-04-22 pbi * scapy.py: Release 0.9.11 [8db4d0677bd6] [v0.9.11.1] * scapy.py: - fixed bug in getmacbyip() using dnet module - deactivated getmacbyip() using dnet module because it did not resolve unknown IPs - added some commands listed by lsc() [2ecef5dbd3ee] [v0.9.10.8] * scapy.py: - some getattr/setattr/delattr enhancements [20b8dab1b79b] [v0.9.10.7] * scapy.py: - added experimental support for QueSO OS fingerprinting. Has someone a *recent* database ? [1fb27dda2910] [v0.9.10.6] 2003-04-18 pbi * scapy.py: - improved the completer to complete with protocol fields - small fix in get_working_if() [12e19d3c723f] [v0.9.10.5] 2003-04-16 pbi * scapy.py: - added option to include padding or not [6bc89fce3e90] [v0.9.10.4] * scapy.py: - added L2dnetSocket() - improved arping() [f8d77e8a4361] [v0.9.10.3] * scapy.py: - fixed the case when the history file does not exist [4195dffc4e65] [v0.9.10.2] 2003-04-14 pbi * scapy.py: Release 0.9.10 [74ea0b3c38f6] [v0.9.10.1] * scapy.py: - added L3pcapListenSocket - fixed L3ListenSocket to use ETH_P_ALL instead of ETH_P_IP by default [b67d73371357] [v0.9.9.15] * scapy.py: - reworked L3dnetSocket [6b56b890c04a] [v0.9.9.14] * scapy.py: - added completion (rlcompleter) and history support [1e4e5789fb4e] [v0.9.9.13] * scapy.py: - bugfixed the close() method of some supersockets [6ac3aaf928d8] [v0.9.9.12] 2003-04-13 biondi * scapy.py: - added get_working_if() - use get_working_if() for default interface [e5bd03c853ef] [v0.9.9.11] 2003-04-12 biondi * scapy.py: - add DNS layer (do not compress when assemble, answers() is missing) [54d714e32fa2] [v0.9.9.10] * scapy.py: - added EnumField - used EnumField for ARP(), ICMP(), IP(), EAPOL(), EAP(),... [77cd07ab513c] [v0.9.9.9] 2003-04-11 pbi * scapy.py: - better integration of libpcap and libdnet, if available [bcec3d6a43dd] [v0.9.9.8] * scapy.py: - some tweaks about supersockets close() and __del__() (not satisfied) - added L3dnetSocket, that use libdnet and libpcap if available [c73766e09f3b] [v0.9.9.7] * scapy.py: - fixed a regression in bitfield dissection - tweaked and fixed a lot of small things arround supersockets [a62d2fe358b3] [v0.9.9.6] 2003-04-10 pbi * scapy.py: - clean session only if it is to be saved - forgot to give its name to Padding class - fixed the NoPayload comparison tests so that they work on reloaded sessions [5410e7683d43] [v0.9.9.5] * scapy.py: - Prepared the configuration of L2/L3 supersockets [777236ece8f2] [v0.9.9.4] 2003-04-08 pbi * scapy.py: - little fix in L2ListenSocket.__del__() - added doc and options in Conf class - added promisc support for L3PacketSocket, so that you can get answers to spoofed packets [ec583c7d8291] [v0.9.9.3] * scapy.py: - added extract_padding() method to UDP [10bf6c7f5e01] [v0.9.9.2] * scapy.py: Release 0.9.9 [c4c93b24e6e9] [v0.9.9.1] * scapy.py: - use cPickle instead of pickle (quicker and works with __getattr__() recursion) - small fixes on send() and sendp() [7406a2e5a5d9] [v0.9.8.9] * scapy.py: - EAPOL overload Ether dst with PAE_GROUP_ADDR - tuning in ports_report() - tuning in fragleak [711d94f4449b] [v0.9.8.8] 2003-04-07 pbi * scapy.py: - uses /usr/bin/env invocation [a6a31bbd1efc] [v0.9.8.7] * scapy.py: - catch error during payload dissection and consider payload as raw data [9d603e919702] [v0.9.8.6] * scapy.py: - srp() becomes srp1() and sr() equivalent for L2 is called srp() - hastype() Packet methods renamed to haslayer() - added getlayer() Packet method - added padding detection for layers that have a length field - added fragment() that fragment an IP packet - added report_ports() to scan a machine and output LaTeX report [48a1107c6e67] [v0.9.8.5] 2003-04-01 pbi * scapy.py: - added FlagsField(), used for TCP and IP - rfc3514 compliance [d71f96dfceba] [v0.9.8.4] 2003-03-28 pbi * scapy.py: Added pkt2uptime() : uses TCP timestamp to predict when the machine was booted [5c69c99994ae] [v0.9.8.3] 2003-03-27 pbi * scapy.py: - fixed sprintf() regression to use attributes from a packet that are not fields (eg: payload) [cc709b682735] [v0.9.8.2] * scapy.py: Release 0.9.8 [e8ee6bc8421c] [v0.9.8.1] * scapy.py: - add filter support for sr(), sr1() and srp() - use filters for getmacbyip() and traceroute() for better reliability under heavy load [fb7ae82d97ba] [v0.9.7.9] * scapy.py: - better timeout management in sndrcv - bugfixed sys.exit() imbrication issues - some self documentation - added lsc()command [a1b99ff23bb1] [v0.9.7.8] 2003-03-26 pbi * scapy.py: - Added IPTool class, to add commands like whois() to IP layer. - Have unknown class attributes be asked to payload before raising an exception. [1bcd7bfcb72f] [v0.9.7.7] * scapy.py: More powerful sprintf format string : %[fmt[r],][cls[:nb].]field% where fmt is a classic one, r can be appended for raw substitution (ex: IP.flags=0x18 instead of SA), nb is the number of the layer we want (ex: for IP/IP packets, IP:2.src is the src of the upper IP layer). Special case : "%.time" is the creation time. Ex : p.sprintf("%.time% %-15s,IP.src% -> %-15s,IP.dst% %IP.chksum% %03xr,IP.proto% %r,TCP.flags%") [a802f8bec0c3] [v0.9.7.6] * scapy.py: Added creation time packet. Supported by read/write pcap. [f7fef4cff8b3] [v0.9.7.5] * scapy.py: Added the NoPayload terminal class [974842312877] [v0.9.7.4] * scapy.py: Fixed RCS Id [8eb9996cb1b7] [v0.9.7.3] * scapy.py: Adding RCS Id [331a327b7c83] [v0.9.7.2] * scapy.py: Initial check-in [5409c127e2ca]