gufolabs / gufo_ping

Gufo Labs Ping is the accelerated Python asyncio IPv4/IPv6 ping implementation.
https://docs.gufolabs.com/gufo_ping/
Other
10 stars 0 forks source link

ENH: SOCK_DGRAM support #6

Open mattmart3 opened 1 year ago

mattmart3 commented 1 year ago

Proposed new feature or change:

Would you consider adding a SOCK_DGRAM attempt in case the the raw socket fails on permission error? This would allow non privileged users to run gufo_ping on Linux when a large ping_group_range is set (looks like it is now the default for many distros). This is done for instance by ping3 and by iptutils which actually tries DGRAM as first option.

dvolodin7 commented 1 year ago

We need a time for the experiments.

mattmart3 commented 1 year ago

Thank you for your consideration. I believe there could be some issue with RECVTTL and RETOPTS socket options (used by iputils implementation) which don't seem to be supported by rust socket2 library (yet?). Maybe there is a way around since ping3 does not seem to set those socket options.