Esempio n. 1
0
 def extract_packet(self, cls, s):
     if len(s) > 0:
         try:
             c = cls(s)
         except ASN1F_badsequence:
             c = packet.Raw(s)
         cpad = c.getlayer(packet.Raw)
         s = ""
         if cpad is not None:
             s = cpad.load
             del (cpad.underlayer.payload)
         return c, s
     else:
         return None, s
Esempio n. 2
0
 def extract_packet(self,
                    cls,  # type: Type[ASN1_Packet]
                    s,  # type: bytes
                    _underlayer=None  # type: Optional[ASN1_Packet]
                    ):
     # type: (...) -> Tuple[ASN1_Packet, bytes]
     try:
         c = cls(s, _underlayer=_underlayer)
     except ASN1F_badsequence:
         c = packet.Raw(s, _underlayer=_underlayer)
     cpad = c.getlayer(packet.Raw)
     s = b""
     if cpad is not None:
         s = cpad.load
         if cpad.underlayer:
             del(cpad.underlayer.payload)
     return c, s
Esempio n. 3
0
####

srv_max_frm_sz = 1 << 14
srv_hdr_tbl_sz =  4096
srv_max_hdr_tbl_sz = 0
srv_global_window = 1<<14

for setting in srv_set.payload.settings:
    if setting.id   == h2.H2Setting.SETTINGS_HEADER_TABLE_SIZE:
        srv_hdr_tbl_sz = setting.value
    elif setting.id == h2.H2Setting.SETTINGS_MAX_HEADER_LIST_SIZE:
        srv_max_hdr_tbl_sz = setting.value
    elif setting.id == h2.H2Setting.SETTINGS_INITIAL_WINDOW_SIZE:
        srv_global_window = setting.value

####

import scapy.packet as packet
srv_global_window -=len(h2.H2_CLIENT_CONNECTION_PREFACE)
assert(srv_global_window >=0)
print ss.send(packet.Raw(h2.H2_CLIENT_CONNECTION_PREFACE))

####

set_ack = h2.H2Frame(flags={'A'}) / h2.H2SettingsFrame()
set_ack.show()