Coder Social home page Coder Social logo

andrewbonney / mdns-debugger Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 2.0 87 KB

A utility to analyse network traffic for malformed mDNS packets, and unusually high packet rates

License: Apache License 2.0

Python 100.00%
mdns multicast dns rfc6762 dns-sd

mdns-debugger's People

Contributors

andrewbonney avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

bdraco evlo

mdns-debugger's Issues

mdns-debugger pretty much ignores all mdns traffic

Just played with your package a bit and noticed that most of my traffic doesn't show up in the printed summary (and it displays way more received packets than actually displayed).

Problem lies in the dpkt package which doesn't support parsing the ResourceRecord NSEC (47). NSEC is heavily used in mdns and is defined to be a negative response. AFAIK mDNSResponder includes a NSEC record in every response it sends, or at least pretty much all of my Apple Bonjour certified accessories.
The problem is that dpkt doesn't just ignore that one record it can't parse, but completely refuses to continue to parse the packet and throws a UnpackError: RR type 47 is not supported.

The error bubbles up into parse_packet where it is silently ignored

try:
parse_ip(header, eth, ip)
except dpkt.UnpackError:
pass

PY_SSIZE_T_CLEAN macro must be defined for '#' formats

A new python3 has been released and it caused a breaking change in 3.10

Traceback (most recent call last):
  File "/mnt/disk0/Users/user/Nextcloud/PC-SYNC/Projects/_source_codes/github/mdns-debugger/mdns-debugger.py", line 464, in <module>
    (header, packet) = cap.next()
SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.