예제 #1
0
파일: vrrp.py 프로젝트: commial/scapy
 def post_build(self, p, pay):
     if self.chksum is None:
         if isinstance(self.underlayer, IP):
             ck = in4_chksum(112, self.underlayer, p)
         elif isinstance(self.underlayer, IPv6):
             ck = in6_chksum(112, self.underlayer, p)
         else:
             warning("No IP(v6) layer to compute checksum on VRRP. Leaving null")  # noqa: E501
             ck = 0
         p = p[:6] + chb(ck >> 8) + chb(ck & 0xff) + p[8:]
     return p
 def post_build(self, p, pay):
     if self.chksum is None:
         if isinstance(self.underlayer, IP):
             ck = in4_chksum(112, self.underlayer, p)
         elif isinstance(self.underlayer, IPv6):
             ck = in6_chksum(112, self.underlayer, p)
         else:
             warning("No IP(v6) layer to compute checksum on VRRP. "
                     "Leaving null")
             ck = 0
         p = p[:6] + chb(ck >> 8) + chb(ck & 0xff) + p[8:]
     return p
예제 #3
0
    def post_build(self, p, pay):
        p += pay
        tmp_len = self.len

        if tmp_len is None:
            tmp_len = len(p)
            p = p[:2] + struct.pack("!H", tmp_len) + p[4:]

        if self.chksum is None:
            chksum = in6_chksum(89, self.underlayer, p)
            p = p[:12] + struct.pack("!H", chksum) + p[14:]

        return p
예제 #4
0
파일: ospf.py 프로젝트: commial/scapy
    def post_build(self, p, pay):
        p += pay
        tmp_len = self.len

        if tmp_len is None:
            tmp_len = len(p)
            p = p[:2] + struct.pack("!H", tmp_len) + p[4:]

        if self.chksum is None:
            chksum = in6_chksum(89, self.underlayer, p)
            p = p[:12] + struct.pack("!H", chksum) + p[14:]

        return p
예제 #5
0
    def post_build(self, p, pay):
        p += pay
        l = self.len

        if l is None:
            l = len(p)
            p = p[:2] + struct.pack("!H", l) + p[4:]

        if self.chksum is None:
            chksum = in6_chksum(89, self.underlayer, p)
            p = p[:12] + chr(chksum >> 8) + chr(chksum & 0xff) + p[14:]

        return p
예제 #6
0
    def post_build(self, p, pay):
        p += pay
        l = self.len

        if l is None:
            l = len(p)
            p = p[:2] + struct.pack("!H", l) + p[4:]

        if self.chksum is None:
            chksum = in6_chksum(89, self.underlayer, p)
            p = p[:12] + chr(chksum >> 8) + chr(chksum & 0xff) + p[14:]

        return p