Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign up
Hi & welcome to Scapy's github ! This page lists issues that you can try to fix if you want to start contributing to Scapy.
This list includes wishes and things added by the maintainers based on the issues that we get, but also issues marked with
TODOorXXXthat already exist in Scapy's code base (layers). If you want to contribute to the project you might just take care one of the bugs.You can also look for issues and pull requests in the old Bitbucket repository. If you find something interesting there (there shouldn't be anything left, but sometimes lost people add issues there), please do not update it on Bitbucket, open an issue here and mention (link) the old issue and/or pull request.
To get a bug, create an issue with the description of the bug and refer to this issue (just mention
#399in the text) so we can update it.Please read How to contribute before starting to work!
Note: all of those issues are updated regularly but might sometimes fall out of date. The links are static so the part you need to change might move on master (look for it). If the issue has been fixed and we missed it, feel free to ping us
Available:
Easy - Recommended for new users - Hacktoberfest
Participate in project Hinty: #2158. This is easy but requires a lot of hands to help😄 . You'll just have to add static typing to a file or layer you've selected.
Fill up the scapy topic in github explore. Scapy is already popular enough to have its own github topic but it would be nice if it could have a logo/banner.
Any of the issues tagged with "good first issue"
Add documentation for
dispatch_hookbased on this StackOverflow post. You can add this documentation toscapy/doc/scapy/advanced_usage.rstfor instance.Add
hashret()/answers()regression tests toICMPv6ND_RAin regression.uts as saidscapy/test/regression.uts
Line 1692 in 45c5930
Medium - More advanced features or wishes
Help to get rid of duplicated names in contrib files: #2862 This is rather easy, not super interesting though.
create a snap package for Scapy (#2153) (apparently that's something Linux users want)
Implement TCP_server like TCP_client (#2083) (This should make you discover how Scapy automatons work)
Improve
in6_getAddrType: add support forUnique local Addressand add unit tests. (this function appears to be unused, try pinging guedou about that)scapy/scapy/utils6.py
Line 191 in c6e1e6c
Add more tests in regression.uts for
IA_PDPrefix Option inscapy/test/regression.uts
Line 3264 in 45c5930
Make the FlagField a bit cleaner thanks to the new capabilities of
FlagsFieldinisakmp.py(This should be easy enough, tryhelp(FlagsField)to see what this field is about)scapy/scapy/layers/isakmp.py
Line 185 in cce88a9
Don't remove Teredo's route when refreshing in
route6.pyscapy/scapy/route6.py
Line 41 in cce88a9
Hard - Build entire modules or refactor complex stuff
add SNMPv3 support #1132
add DTLS support #1931 (This is very cool, but not easy. We do have full TLS support though so it should be feasible to re-use almost everything)
Update the p0f support #1923 (This sounds pretty cumbersome...)
Remove the "trick" from
carp.pyscapy/scapy/contrib/carp.py
Line 47 in cce88a9
Try to call
Enum_metaclassfromASN1_Class_metaclassor at least try to reduce the amount of duplicated code:scapy/scapy/asn1/asn1.py
Line 113 in a6e4ab2
Update the OPC UA support #1569 (This sounds extremely hard, considering how big the PR is. Don't dive into this unless you actually need OPC UA)
Add support to addresses other than MAC in
DUID_LLTindhcp6.pyscapy/scapy/layers/dhcp6.py
Line 204 in cce88a9
Add support for authdata in
OSPF_Hdrinospf.pyscapy/scapy/contrib/ospf.py
Line 68 in f912538
Guess the next hop properly when multiple
IPv6ExtHdrDestOptextensions are used oninet6.pyscapy/scapy/layers/inet6.py
Line 379 in bdcbba5
Check that Multicast scopes match when performing
answersin [inet6.py]scapy/scapy/layers/inet6.py
Line 407 in bdcbba5
Write X.400 format in
X509.py. (this is ASN.1. Not the easiest thing to begin with)scapy/scapy/layers/x509.py
Line 199 in cce88a9
HELP: the RFC of the the X.400 format is on rfc5280, at the bottom of page 117.
Unknown difficulty
scapy/scapy/layers/inet6.py
Line 424 in 35f97ef