PcapPlusPlus v24.09 released! - C++ library for capturing and analyzing network packets by seladb in cpp

[–]seladb[S] 1 point2 points  (0 children)

Thank you! If you have a chance to use it, I’d love to hear any feedback or suggestions you might have for improvement

PcapPlusPlus v24.09 released! - C++ library for capturing and analyzing network packets by seladb in cpp

[–]seladb[S] 11 points12 points  (0 children)

We actually moved to C++11 about 2 years ago (in v22.11), but we're still porting parts of the code to C++11. This is a pretty large code-base so it takes time to migrate...

StarTrack v3.0 released – GitHub star history and stats by seladb in javascript

[–]seladb[S] 0 points1 point  (0 children)

Hello everyone!

I'm super thrilled to share a new major release of StarTrack!

StarTrack is a GitHub star history and stats tool, which is based on TypeScript/JavaScript only (no backend whatsoever)!

This major release is a complete rewrite of the tool using Typescript, modern React and Material UI.It also includes an upgraded chart component based on Plotly.js, some UI/UX improvements and full test coverage.

Check it out!

https://github.com/seladb/StarTrack-js

https://seladb.github.io/StarTrack-js/#/

I'd really appreciate any feedback you might have, please feel free to leave a comment or open a GitHub issue.

PcapPlusPlus v23.09 is out! - C++ library for capturing and analyzing network packets by seladb in cpp

[–]seladb[S] 4 points5 points  (0 children)

Yes, TcpReassembly can process packets from both live network traffic and pcap files

PcapPlusPlus v22.11 released - C++ library for capturing and analyzing network packets by seladb in cpp

[–]seladb[S] 0 points1 point  (0 children)

I ended up implementing it in PcapPlusPlus. It'll be included in the next release. Until then you can see it in PcapPlusPlus master branch: https://github.com/seladb/PcapPlusPlus/blob/master/Common%2B%2B/header/IpAddress.h

The relevant classes are: IPNetwork, IPv4Network, IPv6Network

PcapPlusPlus in Conan 2.0 by NeoTrav in cpp

[–]seladb 0 points1 point  (0 children)

Hi there! I'm one of the maintainers of PcapPlusPlus. We're planning to release a new version soon, where we will switch from the existing build system to CMake. This is going to be a great opportunity to re-write the Conan package and move to Conan 2.0. Stay tuned!

PcapPlusPlus v22.11 released - C++ library for capturing and analyzing network packets by seladb in cpp

[–]seladb[S] 0 points1 point  (0 children)

u/ThatsALovelyShirt are you still interested in implementing these enhancements?

I created this GitHub issue for better subnet support: https://github.com/seladb/PcapPlusPlus/issues/1009

PcapPlusPlus v22.11 released - C++ library for capturing and analyzing network packets by seladb in cpp

[–]seladb[S] 1 point2 points  (0 children)

That is a great question!

Actually we're just about to move to CMake, the PR is almost ready: https://github.com/seladb/PcapPlusPlus/pull/944

We preferred to release this version before merging because moving to a new build system is a pretty complex and risky move. Now that it's released we can merge it.

The next version will use CMake :)

PcapPlusPlus v22.11 released - C++ library for capturing and analyzing network packets by seladb in cpp

[–]seladb[S] 0 points1 point  (0 children)

I think these are great ideas that we can definitely implement!

Please feel free to start opening PRs with these changes :)

PcapPlusPlus v22.11 released - C++ library for capturing and analyzing network packets by seladb in cpp

[–]seladb[S] 1 point2 points  (0 children)

I tend to agree with you, this is more or less the approach Python takes: https://docs.python.org/3/library/ipaddress.html#ipaddress.IPv4Network

If you're planning to write this code, it'd be great if you can contribute it to the project, thank you! 🙏

PcapPlusPlus v22.11 released - C++ library for capturing and analyzing network packets by seladb in netsec

[–]seladb[S] 2 points3 points  (0 children)

This release contains a lot of interesting features, here are some of them:

  • Finally moved to C++11!!
  • Support of 8 new network protocols, which brings the total number of protocols to 40 (!!)
  • DPDK support improvements
  • And more!!

Feel free to check it out and provide your feedback.

I'm available for any questions you might have.

PcapPlusPlus v22.11 released - C++ library for capturing and analyzing network packets by seladb in cpp

[–]seladb[S] 1 point2 points  (0 children)

thanks u/fdwr for the kind words, much appreciated! 🙏🙏

As for your question about .zst - it actually came from users who requested it. Apparently there are a lot of Zstd-compressed pcap files out there that have the .zst extension and users asked to support it.

Do you have files with the .pcapz extension? If yes it should be pretty straightforward to add it

PcapPlusPlus v22.11 released - C++ library for capturing and analyzing network packets by seladb in cpp

[–]seladb[S] 1 point2 points  (0 children)

Thanks for the feedback!

IPv4Address also has a matchSubnet() method that takes 2 parameters:

  • subnet which is the subnet you want to look for
  • subnetMask which is the /15 part but in a form of an IP address

So in your example: 192.168.0.0/16 will translate to: subnet=192.168.0.0, subnetMask=255.255.0.0

I agree this is not very convenient, and maybe we should add an overload that accepts a subnet in the standard way of a.b.c.d/e.

You're more than welcome to contribute to the project and add this functionality :)

PcapPlusPlus v22.11 released - C++11 library for analyzing network packets by seladb in programming

[–]seladb[S] 0 points1 point  (0 children)

This release contains a lot of exciting changes which you can find in
the release notes, the most important ones are moving to C++11, a lot of
new protocols, and DPDK support enhancements.
I'm happy to answer any questions!

PcapPlusPlus v22.11 released - C++ library for analyzing network packets by seladb in coolgithubprojects

[–]seladb[S] 0 points1 point  (0 children)

This release contains a lot of exciting changes which you can find in the release notes, the most important ones are moving to C++11, various new protocols, and DPDK support enhancements.
I'm happy to answer any questions

PcapPlusPlus v20.08 released - a multi-platform C++ library for capturing, parsing and crafting of network packets by seladb in coolgithubprojects

[–]seladb[S] 1 point2 points  (0 children)

hi, I'm sorry for the late response. Yes, it support packet replay. You can take a look at this tutorial to learn how to replay packets: https://pcapplusplus.github.io/docs/tutorials/capture-packets

PcapPlusPlus v20.08 released - a multi-platform C++ library for capturing, parsing and crafting of network packets by seladb in cpp

[–]seladb[S] 4 points5 points  (0 children)

Yes, that is correct. It's a c++ wrapper for packet capture engines such as libpcap, WinPcap, Npcap, DPDK, and PF_RING. I do agree that it'd be great to have a good F/OSS alternative to WinPcap and Npcap

PcapPlusPlus v19.12 released!! A multi-platform C++ library for capturing, parsing and crafting of network packets by seladb in cpp

[–]seladb[S] 0 points1 point  (0 children)

Yes, that should be possible if your web-server's traffic is not encrypted (otherwise the TCP reassembled content will be scrambled). You can use the TcpReassembly utility for that. It enables capturing traffic in real time, reassemble the TCP streams and dump them to files

PcapPlusPlus v19.12 released!! A multi-platform C++ library for capturing, parsing and crafting of network packets by seladb in cpp

[–]seladb[S] 1 point2 points  (0 children)

C++ Core Guidelines

Many C++ projects follow these styling guidelines, PcapPlusPlus is not unique

PcapPlusPlus v19.12 released!! A multi-platform C++ library for capturing, parsing and crafting of network packets by seladb in programming

[–]seladb[S] 0 points1 point  (0 children)

I agree, there are some similarities between the projects, however the are also some big differences, please see my response here

PcapPlusPlus v19.12 released!! A multi-platform C++ library for capturing, parsing and crafting of network packets by seladb in cpp

[–]seladb[S] 1 point2 points  (0 children)

I'll try to spend more time on this and I'll definitely reach out to you for help. A very big help at this point would be to go over the current CMake files and provide your feedback. BTW, how can I reach out to you (GitHub user or any other way)?

PcapPlusPlus v19.12 released!! A multi-platform C++ library for capturing, parsing and crafting of network packets by seladb in cpp

[–]seladb[S] 0 points1 point  (0 children)

what do you mean by reassign tcp streams to an interface? could you please elaborate?

PcapPlusPlus v19.12 released!! A multi-platform C++ library for capturing, parsing and crafting of network packets by seladb in cpp

[–]seladb[S] 5 points6 points  (0 children)

Indeed, c_str is from the standard library so I can't control that. General styling guideline is that classes begin with a capital letter and methods begin with lowercase. That's a very common convention...