Ejemplo n.º 1
0
 def unpack(self, buf):
     dpkt.Packet.unpack(self, buf)
     if self.family == 2:
         self.data = ip.IP(self.data)
     elif self.family == 0x02000000:
         self.family = 2
         self.data = ip.IP(self.data)
     elif self.family in (24, 28, 30):
         self.data = ip6.IP6(self.data)
     elif self.family > 1500:
         self.data = ethernet.Ethernet(self.data)
Ejemplo n.º 2
0
        def test_llc(self):
            s = '\xaa\xaa\x03\x00\x00\x00\x08\x00\x45\x00\x00\x28\x07\x27\x40\x00\x80\x06\x1d\x39\x8d\xd4\x37\x3d\x3f\xf5\xd1\x69\xc0\x5f\x01\xbb\xb2\xd6\xef\x23\x38\x2b\x4f\x08\x50\x10\x42\x04\xac\x17\x00\x00'

            import ip
            llc_pkt = LLC(s)
            ip_pkt = ip.IP(llc_pkt.data)
            self.failUnless(llc_pkt.type == ethernet.ETH_TYPE_IP)
            self.failUnless(ip_pkt.dst == '\x3f\xf5\xd1\x69')
Ejemplo n.º 3
0
def test_IP_version_header_length():
    raw_ip_packet = b'\x45\x00\x00\x54\x1c\xff\x40\x00\x40\x01\x07\x80\x0a\x14\x01\x01\x0a\x14\x01\x02\xaa\xbb'
    ip_packet = ip.IP(raw_ip_packet)
    ip_packet.version = 5
    ip_packet.header_length = 24
    assert ip_packet.version == 5
    assert ip_packet.header_length == 24
    assert ip_packet.header == b'\x56\x00\x00\x54\x1c\xff\x40\x00\x40\x01\x07\x80\x0a\x14\x01\x01\x0a\x14\x01\x02\xaa\xbb'
Ejemplo n.º 4
0
    def __init__(self):
        self.meias = {}

        self.fd = socket.socket(socket.AF_PACKET, socket.SOCK_RAW,
                                socket.htons(eth.ETH_P_ALL))
        self.fd.bind((eth.if_name, 0))
        self.ip_handler = ip.IP()
        self.loop = asyncio.get_event_loop()
        self.loop.add_reader(self.fd, self.recebe_binario, self.fd)
Ejemplo n.º 5
0
def test_llc():
    s = ('\xaa\xaa\x03\x00\x00\x00\x08\x00\x45\x00\x00\x28\x07\x27\x40\x00\x80\x06\x1d'
         '\x39\x8d\xd4\x37\x3d\x3f\xf5\xd1\x69\xc0\x5f\x01\xbb\xb2\xd6\xef\x23\x38\x2b'
         '\x4f\x08\x50\x10\x42\x04\xac\x17\x00\x00')
    import ip
    llc_pkt = LLC(s)
    ip_pkt = ip.IP(llc_pkt.data)
    assert (llc_pkt.type == ethernet.ETH_TYPE_IP)
    assert (ip_pkt.dst == '\x3f\xf5\xd1\x69')
Ejemplo n.º 6
0
 def unpack(self, buf):
     dpkt.Packet.unpack(self, buf)
     if self.family > 1500:
         self.data = ethernet.Ethernet(self.data)
     else:
         v = ord(self.data[0]) >> 4
         if self.family == 2 or v == 4:
             # AF_INET appears consistent
             self.data = ip.IP(self.data)
         elif v == 6:
             # XXX - AF_INET6 differs on *BSD, MacOS X, etc.
             self.data = ip6.IP6(self.data)
Ejemplo n.º 7
0
def test_llc():
    import ip
    s = (
        '\xaa\xaa\x03\x00\x00\x00\x08\x00\x45\x00\x00\x28\x07\x27\x40\x00\x80\x06\x1d'
        '\x39\x8d\xd4\x37\x3d\x3f\xf5\xd1\x69\xc0\x5f\x01\xbb\xb2\xd6\xef\x23\x38\x2b'
        '\x4f\x08\x50\x10\x42\x04\xac\x17\x00\x00')
    llc_pkt = LLC(s)
    ip_pkt = llc_pkt.data
    assert isinstance(ip_pkt, ip.IP)
    assert llc_pkt.type == ethernet.ETH_TYPE_IP
    assert ip_pkt.dst == '\x3f\xf5\xd1\x69'
    assert str(llc_pkt) == s
    assert len(llc_pkt) == len(s)

    # construction with SNAP header
    llc_pkt = LLC(ssap=0xaa, dsap=0xaa, data=ip.IP(s[8:]))
    assert str(llc_pkt) == s

    # no SNAP
    llc_pkt = LLC(ssap=6, dsap=6, data=ip.IP(s[8:]))
    assert isinstance(llc_pkt.data, ip.IP)
    assert str(llc_pkt) == '\x06\x06\x03' + s[8:]
Ejemplo n.º 8
0
 def run(self):
     print ""
     self.output.info('Starting disclosures module...')
     try:
         resp = self.request.send(url=self.url,
                                  method="GET",
                                  payload=None,
                                  headers=None,
                                  cookies=self.cookie)
         ip.IP(resp.content)
         email.Email(resp.content)
         card.Card(resp.content)
     except Exception, e:
         pass
Ejemplo n.º 9
0
def test_80211_data():
    s = '\x08\x09\x20\x00\x00\x26\xcb\x17\x3d\x91\x00\x16\x44\xb0\xae\xc6\x00\x02\xb3\xd6\x26\x3c\x80\x7e\xaa\xaa\x03\x00\x00\x00\x08\x00\x45\x00\x00\x28\x07\x27\x40\x00\x80\x06\x1d\x39\x8d\xd4\x37\x3d\x3f\xf5\xd1\x69\xc0\x5f\x01\xbb\xb2\xd6\xef\x23\x38\x2b\x4f\x08\x50\x10\x42\x04\xac\x17\x00\x00'
    ieee = IEEE80211(s, fcs=True)
    assert ieee.type == DATA_TYPE
    assert ieee.subtype == D_DATA
    assert ieee.data_frame.dst == '\x00\x02\xb3\xd6\x26\x3c'
    assert ieee.data_frame.src == '\x00\x16\x44\xb0\xae\xc6'
    assert ieee.data_frame.frag_seq == 0x807e
    assert ieee.data == '\xaa\xaa\x03\x00\x00\x00\x08\x00\x45\x00\x00\x28\x07\x27\x40\x00\x80\x06\x1d\x39\x8d\xd4\x37\x3d\x3f\xf5\xd1\x69\xc0\x5f\x01\xbb\xb2\xd6\xef\x23\x38\x2b\x4f\x08\x50\x10\x42\x04'
    assert ieee.fcs == struct.unpack('I', '\xac\x17\x00\x00')[0]

    import llc, ip

    llc_pkt = llc.LLC(ieee.data_frame.data)
    ip_pkt = ip.IP(llc_pkt.data)
    assert ip_pkt.dst == '\x3f\xf5\xd1\x69'
Ejemplo n.º 10
0
    def run(self):
        if '--verbose' in sys.argv:
            self.output.test('Disclosure attacks...')

        try:
            email.Email(agent=self.agent,
                        proxy=self.proxy,
                        redirect=self.redirect,
                        timeout=self.timeout,
                        url=self.url,
                        cookie=self.cookie).run()
            ip.IP(agent=self.agent,
                  proxy=self.proxy,
                  redirect=self.redirect,
                  timeout=self.timeout,
                  url=self.url,
                  cookie=self.cookie).run()
        except Exception, e:
            pass
Ejemplo n.º 11
0
Archivo: icmp.py Proyecto: edisona/dpkt
 def unpack(self, buf):
     dpkt.Packet.unpack(self, buf)
     self.data = self.ip = ip.IP(self.data)