Replies: 8 comments 8 replies
More Protocols, More!!!As you may have noticed, there are some protocol-named files under the
Specifically, I have attempted to implement ESP several years ago, and I abandoned the implementation in the More over, MH (
|
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
Test CasesPyPCAPKit still does not have a systematic testing suite to be bundled with it. The only test cases I have worked out are those in the |
Progress updateSeveral of the proposals in this thread have landed since they were raised. This comment records what is done and — more useful for anyone looking for something to pick up — what is still open. The Help Wanted page in the documentation mirrors this thread and has been brought back in line with it. Done
Still openMobility Header is the largest remaining gap, and the FMIPv6 part of it is done — the RFC 5568 fast-handover messages (Handover Initiate, Handover Acknowledge, FBU, FBack, FNA) and their options are implemented. What remains in
Each of these falls through to a generic handler, so nothing breaks — the fields simply are not decoded. The ESP algorithm coverage. The two enumerations carry every transform IANA has registered, but only five encryption and five integrity algorithms are actually applied. Specifically not implemented: ChaCha20-Poly1305 (RFC 7634), AES-CCM (RFC 4309), AES-XCBC integrity (RFC 3566), and Extended Sequence Numbers. SCTP type codes beyond RFC 9260. IANA registers considerably more than the RFC defines, and the surplus falls through to the generic handlers — 17 of the 30 registered chunk types, 24 of the 32 chunk parameters, and 10 of the 23 error causes. A capture using one of them parses, but yields an opaque chunk instead of its fields. The unimplemented protocols. The stubs under the
NGAP was asked for separately in #251, and the reply there is the closest thing the project has to a step-by-step guide for adding a protocol — worth reading before starting any of the above. Performance. Still open, but the sketch above no longer maps onto the code. Protocols no longer read fields inline; they declare a pypcap packaging. Worth knowing before reaching for that engine: Shipping the test suite was part of the original ask and is not done. |
Reassembly Beyond IP and TCPA new topic rather than a reply, because nothing in this thread covers reassembly or flow tracing — the existing topics are protocols, PCAP-NG, performance, logging, engines and tests. Detail on the Help Wanted page, which is the canonical list and is kept in step with the code.
The dissector is not the problem.
Writing the reassembler is the smaller half of the job. It would go at Generalising that wiring so a registered reassembler is actually reached looks worth doing on its own account — it would make the fourth protocol cheaper than the third rather than dearer, and the same change unblocks the next item. Two smaller things in the same subsystem:
Worth knowing before benchmarking against them: reassembly is not merely slower on some engines but unavailable. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
As PyPCAPKit reaches its 16k lines of code and 800th commit, I figure it would be a better idea to record the project enhancement proposals here in the discussion thread. The proposals and/or notes will be documented and maintained here.
Pull requests for the existing proposals and any new ideas are highly welcomed and encouraged. Should you have any questions, please leave a note either in this thread or under the Q&A category discussions.
Wish you enjoy PyPCAPKit!!!
All reactions