-
Notifications
You must be signed in to change notification settings - Fork 81
Description
Describe the bug
ERROR 'Operation not permitted' inside Docker
from pythonping import ping
ping('8.8.8.8', verbose=True)
To Reproduce
- run docker container
$ docker run -it --rm --name pithon_ping python:3.9-slim bash
- install module
root@814557ae73c5:/# pip3 install pythonping
Collecting pythonping
Downloading pythonping-1.1.4-py3-none-any.whl (16 kB)
Installing collected packages: pythonping
Successfully installed pythonping-1.1.4
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
[notice] A new release of pip is available: 23.0.1 -> 23.3.1
[notice] To update, run: pip install --upgrade pip
- create user
root@814557ae73c5:/# useradd test
- change to user
root@814557ae73c5:/# su - test
su: warning: cannot change directory to /home/test1: No such file or directory
- test ping as user
$ python3
Python 3.9.18 (main, Sep 7 2023, 13:33:59)
[GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
from pythonping import ping
ping('8.8.8.8', verbose=False)
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.9/site-packages/pythonping/init.py", line 81, in ping
comm = executor.Communicator(target, provider, timeout, interval, socket_options=options, verbose=verbose, output=out,
File "/usr/local/lib/python3.9/site-packages/pythonping/executor.py", line 293, in init
self.socket = network.Socket(target, 'icmp', options=socket_options, source=source)
File "/usr/local/lib/python3.9/site-packages/pythonping/network.py", line 31, in init
self.socket = socket.socket(socket.AF_INET, socket.SOCK_RAW, self.protocol)
File "/usr/local/lib/python3.9/socket.py", line 232, in init
_socket.socket.init(self, family, type, proto, fileno)
PermissionError: [Errno 1] Operation not permitted
quit()
$ exit
- test as root
root@814557ae73c5:/# python3
Python 3.9.18 (main, Sep 7 2023, 13:33:59)
[GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
from pythonping import ping
ping('8.8.8.8', verbose=False)
Reply from 8.8.8.8, 29 bytes in 1.93ms
Reply from 8.8.8.8, 29 bytes in 1.73ms
Reply from 8.8.8.8, 29 bytes in 1.5ms
Reply from 8.8.8.8, 29 bytes in 1.53ms
Round Trip Times min/avg/max is 1.5/1.67/1.93 ms
Expected behavior
work as user and root
Screenshots
NONE
Desktop (please complete the following information):
- OS: Debian 11