Skip to content
Menu
vernon.wenberg.net
vernon.wenberg.net
July 1, 2024July 1, 2024

Allow Python to use ICMP raw packets

icmplib uses raw packets to create ICMP packets. While this is not an issue in Windows, ping on Linux always runs as root to create those packets. icmplib will throw the following error if it is unable to get permissions to create raw network packets.

icmplib.exceptions.SocketPermissionError: Root privileges are required to create the socket

Use the following command to allow Python to manipulate raw network packets.

sudo setcap cap_net_raw+ep $(realpath $(which python3))

The downside to this is that it allows any python application to manipulate raw network packets. This may or may not be a security issue depending on your use-case and environment.

Share this:

  • Click to share on X (Opens in new window) X
  • Click to share on Facebook (Opens in new window) Facebook
  • Click to print (Opens in new window) Print
  • Click to share on Pocket (Opens in new window) Pocket
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on LinkedIn (Opens in new window) LinkedIn

Like this:

Like Loading...

Related

Disclaimer

These posts are notes for me. These are not guides and you should not use these instructions as step-by-step instructions without knowing what they do.

Recent Posts

  • Docker Reference
  • Useful Commands for Windows Subsystem for Linux
  • FortiManager Local-In Policy
  • Mount Google Drive in Linux using rclone
  • Restore original Explorer context menus in Windows 11

Mastodon

  1. Loading Mastodon feed...

©2025 vernon.wenberg.net | Powered by WordPress and Superb Themes!
%d