Open imfht opened 5 years ago
Do you have any update about it?
I've been using PF_RING for a while. Since I moved to on-demand cloud servers, I have problems with the licensing of ZC driver because it is bounded to the NIC's MAC address, which is obviously a huge limitation if you spin and destroy a bare-metal server for each scan.
@StayPirate I didn't found a way to use masscan with dpdk. ;-( and dpdk is so complex for me so I gived up.
There is an old tweet from @robertdavidgraham
But he doesn't confirm whether masscan works with DPDK or only with PF_RING. As I said before, I used PF_RING to perform scans in the past... But its licensing system doesn't work that good on the cloud. I hope one-day Ntop people will remove the licensing limitation and maybe find a different way to monetize their software.
According to what @robertdavidgraham wrote on POC||GTFO 15 (June, 2017): masscan doesn't support DPDK.
Intel has a system called DPDK, the Data-Plane Development kit. It contains not only a user-mode driver similar to PF_RING, but a whole toolkit to solve other problems, like multi-CPU synchronization and multi-socket NUMA memory handling. It’s a real awesome toolkit. However, it’s also an enormous dependency for code. That’s why Masscan uses PF_RING—it’s an optional feature that most users will never see. Had I used DPDK, I would’ve forced users into dependency hell trying to build a massive toolkit for my little application.
Even if the link you shared on the first post reports DPDK on it, doing a quick search for the same word on this repository makes it clear that there has not been any effort to support DPDK.
I'm wondering if @robertdavidgraham plans to support netmap in the future, it would be great to get free from the licensing stuff.
I found a workaround for the issue I was facing. Since the license is bound to the NIC's MAC address, I created a NIC on AWS and I bound the license with its physical address and every time I spin a new server I attach this NIC to it. So I can use the ixgbevf zero-copy driver with masscan on AWS. The downsides are which I have to pay attention to never delete the NIC, and this solution is not cloud-agnostic.
Hello: Look like masscan support dpdk.https://github.com/robertdavidgraham/masscan/blob/master/src/rte-ring.h I've googled for it but get no information. And no document told about it.
Could anyone have a look at this? Thanks!