Skip to content

Commit

Permalink
Merge pull request #214 from secdev/IPv4_mutlicast
Browse files Browse the repository at this point in the history
IPv4 mDNS support
  • Loading branch information
p-l- committed Jul 11, 2016
2 parents 7c53ff4 + 86ad139 commit 7962a57
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions scapy/layers/inet.py
Original file line number Diff line number Diff line change
Expand Up @@ -396,15 +396,20 @@ def hashret(self):
and (self.payload.type in [3,4,5,11,12]) ):
return self.payload.payload.hashret()
else:
if self.dst == "224.0.0.251": # mDNS
return struct.pack("B", self.proto) + self.payload.hashret()
if conf.checkIPsrc and conf.checkIPaddr:
return strxor(inet_aton(self.src),inet_aton(self.dst))+struct.pack("B",self.proto)+self.payload.hashret()
else:
return struct.pack("B", self.proto)+self.payload.hashret()
def answers(self, other):
if not isinstance(other,IP):
return 0
if conf.checkIPaddr and (self.dst != other.src):
return 0
if conf.checkIPaddr:
if other.dst == "224.0.0.251" and self.dst == "224.0.0.251": # mDNS
return self.payload.answers(other.payload)
elif (self.dst != other.src):
return 0
if ( (self.proto == socket.IPPROTO_ICMP) and
(isinstance(self.payload, ICMP)) and
(self.payload.type in [3,4,5,11,12]) ):
Expand Down

0 comments on commit 7962a57

Please sign in to comment.