packetgen 1.4.2 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/packetgen/header/dot11/sub_mngt.rb +11 -0
- data/lib/packetgen/packet.rb +17 -3
- data/lib/packetgen/pcapng/epb.rb +1 -0
- data/lib/packetgen/pcapng/file.rb +1 -0
- data/lib/packetgen/pcapng/idb.rb +1 -0
- data/lib/packetgen/pcapng/shb.rb +1 -0
- data/lib/packetgen/pcapng/spb.rb +1 -0
- data/lib/packetgen/pcapng/unknown_block.rb +1 -0
- data/lib/packetgen/pcapng.rb +1 -0
- data/lib/packetgen/types/tlv.rb +2 -2
- data/lib/packetgen/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 4b5b7c4c6b94e7e5e2323d99a06f687109495539
         | 
| 4 | 
            +
              data.tar.gz: 363abe5a21f82d8f0fe8f791912109c55d795218
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 7782f886a780d71bd9e976bb9185742979f8a5d0a4818a07a9b8c249d4628616db690a4620e80a346ec19357df288c4d2b598804095b648e1373cf9f99c15a73
         | 
| 7 | 
            +
              data.tar.gz: e8838e0e6ba458472090661066cdd90ac4358f02e4eea53adf4c2c09867ee83c0e4c318241a30f0cb255d91cf393319002b378c174161744596b2bd2f84e2e2d
         | 
| @@ -59,6 +59,7 @@ module PacketGen | |
| 59 59 | 
             
                  end
         | 
| 60 60 |  | 
| 61 61 | 
             
                  # IEEE 802.11 Association Request frame
         | 
| 62 | 
            +
                  # @author Sylvain Daubert
         | 
| 62 63 | 
             
                  class AssoReq < SubMngt
         | 
| 63 64 | 
             
                    # @!attribute cap
         | 
| 64 65 | 
             
                    #  @return [Integer] 16-bit capabillities word
         | 
| @@ -71,6 +72,7 @@ module PacketGen | |
| 71 72 | 
             
                  Management.bind_header AssoReq, op: :and, type: 0, subtype: 0
         | 
| 72 73 |  | 
| 73 74 | 
             
                  # IEEE 802.11 Association Response frame
         | 
| 75 | 
            +
                  # @author Sylvain Daubert
         | 
| 74 76 | 
             
                  class AssoResp < SubMngt
         | 
| 75 77 | 
             
                    # @!attribute cap
         | 
| 76 78 | 
             
                    #  @return [Integer] 16-bit capabillities word
         | 
| @@ -86,6 +88,7 @@ module PacketGen | |
| 86 88 | 
             
                  Management.bind_header AssoResp, op: :and, type: 0, subtype: 1
         | 
| 87 89 |  | 
| 88 90 | 
             
                  # IEEE 802.11 ReAssociation Request frame
         | 
| 91 | 
            +
                  # @author Sylvain Daubert
         | 
| 89 92 | 
             
                  class ReAssoReq < AssoReq
         | 
| 90 93 | 
             
                    # @!attribute current_ap
         | 
| 91 94 | 
             
                    #  @return [Eth::MAcAddr]
         | 
| @@ -95,18 +98,21 @@ module PacketGen | |
| 95 98 | 
             
                  Management.bind_header ReAssoReq, op: :and, type: 0, subtype: 2
         | 
| 96 99 |  | 
| 97 100 | 
             
                  # IEEE 802.11 ReAssociation Response frame
         | 
| 101 | 
            +
                  # @author Sylvain Daubert
         | 
| 98 102 | 
             
                  class ReAssoResp < AssoResp
         | 
| 99 103 | 
             
                  end
         | 
| 100 104 | 
             
                  Header.add_class ReAssoResp
         | 
| 101 105 | 
             
                  Management.bind_header ReAssoResp, op: :and, type: 0, subtype: 3
         | 
| 102 106 |  | 
| 103 107 | 
             
                  # IEEE 802.11 Probe Request frame
         | 
| 108 | 
            +
                  # @author Sylvain Daubert
         | 
| 104 109 | 
             
                  class ProbeReq < SubMngt
         | 
| 105 110 | 
             
                  end
         | 
| 106 111 | 
             
                  Header.add_class ProbeReq
         | 
| 107 112 | 
             
                  Management.bind_header ProbeReq, op: :and, type: 0, subtype: 4
         | 
| 108 113 |  | 
| 109 114 | 
             
                  # IEEE 802.11 Probe Response frame
         | 
| 115 | 
            +
                  # @author Sylvain Daubert
         | 
| 110 116 | 
             
                  class ProbeResp < SubMngt
         | 
| 111 117 | 
             
                    # @!attribute timestamp
         | 
| 112 118 | 
             
                    #  @return [Integer] 64-bit timestamp
         | 
| @@ -122,6 +128,7 @@ module PacketGen | |
| 122 128 | 
             
                  Management.bind_header ProbeResp, op: :and, type: 0, subtype: 5
         | 
| 123 129 |  | 
| 124 130 | 
             
                  # IEEE 802.11 Beacon frame
         | 
| 131 | 
            +
                  # @author Sylvain Daubert
         | 
| 125 132 | 
             
                  class Beacon < SubMngt
         | 
| 126 133 | 
             
                    # @!attribute timestamp
         | 
| 127 134 | 
             
                    #  @return [Integer] 64-bit timestamp
         | 
| @@ -137,11 +144,13 @@ module PacketGen | |
| 137 144 | 
             
                  Management.bind_header Beacon, op: :and, type: 0, subtype: 8
         | 
| 138 145 |  | 
| 139 146 | 
             
                  # IEEE 802.11 ATIM frame
         | 
| 147 | 
            +
                  # @author Sylvain Daubert
         | 
| 140 148 | 
             
                  class ATIM < SubMngt; end
         | 
| 141 149 | 
             
                  Header.add_class ATIM
         | 
| 142 150 | 
             
                  Management.bind_header ATIM, op: :and, type: 0, subtype: 9
         | 
| 143 151 |  | 
| 144 152 | 
             
                  # IEEE 802.11 Disassociation frame
         | 
| 153 | 
            +
                  # @author Sylvain Daubert
         | 
| 145 154 | 
             
                  class Disas < SubMngt
         | 
| 146 155 | 
             
                    # @!attribute reason
         | 
| 147 156 | 
             
                    #  @return [Integer] 16-bit reason value
         | 
| @@ -151,6 +160,7 @@ module PacketGen | |
| 151 160 | 
             
                  Management.bind_header Disas, op: :and, type: 0, subtype: 10
         | 
| 152 161 |  | 
| 153 162 | 
             
                  # IEEE 802.11 Authentication frame
         | 
| 163 | 
            +
                  # @author Sylvain Daubert
         | 
| 154 164 | 
             
                  class Auth < SubMngt
         | 
| 155 165 | 
             
                    # @!attribute algo
         | 
| 156 166 | 
             
                    #  @return [Integer] 16-bit algo value
         | 
| @@ -166,6 +176,7 @@ module PacketGen | |
| 166 176 | 
             
                  Management.bind_header Auth, op: :and, type: 0, subtype: 11
         | 
| 167 177 |  | 
| 168 178 | 
             
                  # IEEE 802.11 Deauthentication frame
         | 
| 179 | 
            +
                  # @author Sylvain Daubert
         | 
| 169 180 | 
             
                  class DeAuth < SubMngt
         | 
| 170 181 | 
             
                    # @!attribute reason
         | 
| 171 182 | 
             
                    #  @return [Integer] 16-bit reason value
         | 
    
        data/lib/packetgen/packet.rb
    CHANGED
    
    | @@ -43,6 +43,8 @@ module PacketGen | |
| 43 43 | 
             
              #
         | 
| 44 44 | 
             
              # == Save packets to a file
         | 
| 45 45 | 
             
              #  Packet.write 'file.pcapng', packets
         | 
| 46 | 
            +
              #
         | 
| 47 | 
            +
              # @author Sylvain Daubert
         | 
| 46 48 | 
             
              class Packet
         | 
| 47 49 | 
             
                # @return [Array<Header::Base]
         | 
| 48 50 | 
             
                attr_reader :headers
         | 
| @@ -91,11 +93,23 @@ module PacketGen | |
| 91 93 |  | 
| 92 94 | 
             
                # Read packets from +filename+.
         | 
| 93 95 | 
             
                #
         | 
| 94 | 
            -
                # For more control, see {PcapNG::File}.
         | 
| 95 | 
            -
                # @param [String] filename PcapNG file
         | 
| 96 | 
            +
                # For more control, see {PcapNG::File} or {PCAPRUB::Pcap}.
         | 
| 97 | 
            +
                # @param [String] filename PcapNG or Pcap file.
         | 
| 96 98 | 
             
                # @return [Array<Packet>]
         | 
| 99 | 
            +
                # @author Sylvain Daubert
         | 
| 100 | 
            +
                # @author Kent Gruber
         | 
| 97 101 | 
             
                def self.read(filename)
         | 
| 98 | 
            -
                   | 
| 102 | 
            +
                  begin
         | 
| 103 | 
            +
                    PcapNG::File.new.read_packets filename
         | 
| 104 | 
            +
                  rescue => e
         | 
| 105 | 
            +
                    raise ArgumentError, e unless File.extname(filename.downcase) == '.pcap'
         | 
| 106 | 
            +
                    packets = []
         | 
| 107 | 
            +
                    PCAPRUB::Pcap.open_offline(filename).each_packet do |packet|
         | 
| 108 | 
            +
                      next unless packet = PacketGen.parse(packet.to_s)  
         | 
| 109 | 
            +
                      packets << packet
         | 
| 110 | 
            +
                    end
         | 
| 111 | 
            +
                    packets
         | 
| 112 | 
            +
                  end
         | 
| 99 113 | 
             
                end
         | 
| 100 114 |  | 
| 101 115 | 
             
                # Write packets to +filename+
         | 
    
        data/lib/packetgen/pcapng/epb.rb
    CHANGED
    
    
    
        data/lib/packetgen/pcapng/idb.rb
    CHANGED
    
    
    
        data/lib/packetgen/pcapng/shb.rb
    CHANGED
    
    
    
        data/lib/packetgen/pcapng/spb.rb
    CHANGED
    
    
    
        data/lib/packetgen/pcapng.rb
    CHANGED
    
    | @@ -8,6 +8,7 @@ module PacketGen | |
| 8 8 |  | 
| 9 9 | 
             
              # Module to handle PCAP-NG file format.
         | 
| 10 10 | 
             
              # See http://xml2rfc.tools.ietf.org/cgi-bin/xml2rfc.cgi?url=https://raw.githubusercontent.com/pcapng/pcapng/master/draft-tuexen-opsawg-pcapng.xml&modeAsFormat=html/ascii&type=ascii
         | 
| 11 | 
            +
              # @author Sylvain Daubert
         | 
| 11 12 | 
             
              module PcapNG
         | 
| 12 13 |  | 
| 13 14 | 
             
                # Section Header Block type number
         | 
    
        data/lib/packetgen/types/tlv.rb
    CHANGED
    
    | @@ -65,9 +65,9 @@ module PacketGen | |
| 65 65 | 
             
                      self.old_type = val
         | 
| 66 66 | 
             
                    else
         | 
| 67 67 | 
             
                      unless has_human_types?
         | 
| 68 | 
            -
                        raise TypeError,  | 
| 68 | 
            +
                        raise TypeError, 'need an Integer'
         | 
| 69 69 | 
             
                      end
         | 
| 70 | 
            -
                      new_val = self.class::TYPES | 
| 70 | 
            +
                      new_val = self.class::TYPES.key(val.to_s)
         | 
| 71 71 | 
             
                      raise ArgumentError, "unknown #{val.to_s} type" if new_val.nil?
         | 
| 72 72 | 
             
                      self.old_type = new_val
         | 
| 73 73 | 
             
                    end
         | 
    
        data/lib/packetgen/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: packetgen
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.4. | 
| 4 | 
            +
              version: 1.4.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Sylvain Daubert
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2017- | 
| 11 | 
            +
            date: 2017-06-04 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: pcaprub
         |