scapy.layers.dhcp

DHCP(动态主机配置协议)和BOOTP

class scapy.layers.dhcp.BOOTP(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
answers(other)
extract_padding(s)
fields_desc
显示类似RFC的架构
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       OP      |     HTYPE     |      HLEN     |      HOPS     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              XID                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              SECS             |             FLAGS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             CIADDR                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             YIADDR                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             SIADDR                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             GIADDR                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             CHADDR                            |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             SNAME                             |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              FILE                             |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            OPTIONS            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                            Fig. BOOTP                            
BOOTP字段

op

ByteEnumField

1

htype

ByteField

1

hlen

ByteField

6

hops

ByteField

0

xid

IntField

0

secs

ShortField

0

flags

FlagsField (16位)

<Flag 0 ()>

ciaddr

IPField

'0.0.0.0'

yiaddr

IPField

'0.0.0.0'

siaddr

IPField

'0.0.0.0'

giaddr

IPField

'0.0.0.0'

chaddr

Field

b''

sname

Field

b''

file

Field

b''

options

StrField

b''

guess_payload_class(payload)
hashret()
payload_guess

可能的子层: DHCP

class scapy.layers.dhcp.BOOTP_am(**kargs)

Bases: scapy.ansmachine.AnsweringMachine

filter = 'udp and port 68 and port 67'
function_name = 'bootpd'
is_request(req)
make_reply(req)
parse_options(pool=Net('192.168.1.128/25'), network='192.168.1.0/24', gw='192.168.1.1', domain='localnet', renewal_time=60, lease_time=1800)
print_reply(req, reply)
static send_function(x, inter=0, loop=0, iface=None, iface_hint=None, count=None, verbose=None, realtime=None, return_packets=False, socket=None, *args, **kargs)

在第2层发送数据包

Parameters
  • x –数据包

  • -两个分组(默认为0)之间的时间(以秒)

  • 循环 –无限发送数据包(默认为0)

  • count –要发送的数据包数(默认为None = 1)

  • 详细 -详细模式(默认为None = conf.verbose)

  • 实时 –在发送下一个之前检查包是否已发送

  • return_packets –返回发送的数据包

  • socket –要使用的套接字(默认为conf.L3socket(kargs))

  • iface –发送数据包的接口

  • 监视器 –(不是在Linux上)以监视器模式发送

Returns

None

class scapy.layers.dhcp.DHCP(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
显示类似RFC的架构
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            OPTIONS            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                            Fig. DHCP                             
DHCP字段

options

DHCPOptionsField

b''

class scapy.layers.dhcp.DHCPOptionsField(name, default, fmt='H', remain=0)

Bases: scapy.fields.StrField

getfield(pkt, s)
i2m(pkt, x)
i2repr(pkt, x)
islist = 1
m2i(pkt, x)
class scapy.layers.dhcp.DHCP_am(**kargs)

Bases: scapy.layers.dhcp.BOOTP_am

function_name = 'dhcpd'
make_reply(req)
class scapy.layers.dhcp.RandDHCPOptions(size=None, rndstr=None)

Bases: scapy.volatile.RandField

scapy.layers.dhcp.dhcp_request(iface=None, **kargs)

发送DHCP发现请求并返回答案