2.6.0 release
This issue tracks the associated 2.6.0 release. As usual, feel free to comment down below to have some features/bugs included before the final release.
Note: this is a big release.
Changelog
General
-
[removal] DROP SUPPORT OF PYTHON 2.7
- Python 3.12 and 3.11 support. Currently supports Python 3.7-3.12
- Improve packaging (
pyproject.toml) and version handling. Scapy will now include wheels on pypi. - We welcome Nils Weiss (polybassa) as a new maintainer !
Main changes
- [new] Windows protocols:
- DCE/RPC:
DCERPC_ClientandDCERPC_Serverwith support forNCACN_IP_TCPandNCACN_NP - SMB2/3:
- Protocol refactor, many more SMB2/3 structures supported
- Server (class + 'simple' util
smbserver()) (2.0.2 to 3.1.1) - Client (class + interactive CLI
smbclient()) (2.0.2 to 3.1.1) - SMB socket, RPC over SMB socket, etc.
- Kerberos:
- KerberosSSP to use in SMB/RPC clients/servers, [MS-KILE] variants, SFU and more !
- Crypto: use cryptography, latest RFC8009, GSS_WrapEx support, typing, etc.
- Util functions krb_as_req, krb_tgt_req, kpasswd (both modes), etc.
- Ticketer++: ccache support, ask/renew/resign/edit tickets, etc
- NTLM:
- refactor, clean SSP
- Extensive GSSAPI / SPNEGO support !
- LDAP
- Fixes, ASN.1 Windows variation support
- dclocator, answering machine for "LDAP PING", etc.
- add a (very) basic
LDAP_client(support for various binding mechanisms, encryption, etc.)
- DCE/RPC:
- Automaton:
- fixes memory usage on Windows
- support for EOF events
- spawn() mode, better socket.socket support
- [breaking]
StreamSocketchanges, support for TCP reassembly, etc. TCPSession(app=True) must no longer be used withStreamSocket. Custom sessions are marked as unstable. - Support for recent
cryptography(42/43.0) versions - [major] reading of interfaces and routes on linux has been re-written to use rtnetlink. (this should help on machines that have BPG tables)
- [new] CLI improvements
- [breaking] Scapy CLI configuration now available in
~/.config/scapy. This follows XDG variables. (Older~/.scapy_startup.pyis now non functional) - Support for
bpython,ptpythonandptipython
- [breaking] Scapy CLI configuration now available in
-
manufdb(from wireshark) is now bundled and cached in~/.cache/scapy. - Use
L3RawSocket(6)automatically on the loopback interface on linux -
L3pcapSocket(the default L3 on Windows or when libpcap is used) now follows the same behavior as other L3 sockets when routing - the
sr*class of functions now properly supports sending on multiple interfaces (Windows & Linux) - support for RFC6874-like scope identifiers. This is very useful for multicast IPs as one can now do the following on L3:
sr(IP(dst="224.0.0.1%eth0")/..., multi=True) - [new] Wireshark extcap interfaces support (
load_extcap()) - Improve builtin answering machines (
dnsd,llmnrd,nbnsd,dhcpd...). Addmdnsdfor mDNS support - Fix performance issues with nested
*ListFields - [new]
conf.nameserverscontains the DNS servers. Also addsdns_resolve() - [new] SSHv2 layer
- [breaking] Rework
Sessionobjects - Fix L2 address computation when ARP is used over Ether (intrusive ARPs, bad guessing..)
- [breaking] change
sendpfastloop argument to be consistent withsendp - automaton: improve
graph()to include implicit links - HTTP:
- [new] add
HTTP_ClientandHTTP_Serverwhich support the same SSPs as Windows - rework
http_client - various fixes to reassembly when using TCPSession
- [new] add
- TLS:
- support for TLS 1.3 post handshake
- support for EdDSA signatures / keys (ed25519/ed448)
- various fixes (ffdhe generation, middlebox compat)
- support choosing of curve, signature algorithms, etc.
- More options supported in DHCP(v6), IPv6, DNS/LLMNR (special thanks to evverx)
- Bluetooth, 802.11: new payloads supported
- IPSEC: AES-NULL-GMAC support
- [breaking] Merge EAPOL contrib into EAP
- fix latex theme
- IKEv2, ISAKMP: NAT traversal support, and other fixes (notify, ...)
- Minor fixes in Netflow, NTP, SCTP, TACACS
- [deprecation] Deprecate Winpcap support on Windows (please use Npcap instead if you are not already using it).
- [removal] Remove ubberlogger.
- cache
get_if_hwaddrfor performance - fix
arpingwithout IP - [new] tcpros layer (ROS 1.1)
- many more fixes
Automotive changes
TODO
When will it be released? I see that the milestone is already passed due, can't wait for the new features 🙏
We are indeed late on the schedule. Our current goal is the end of February, but it might be subject to another shift.
Hi there, any update on when this will be resolved?
I've just released '2.6.0rc1'.
Hello,
Please include https://github.com/secdev/scapy/pull/4485 as part of the upcoming release.