Tom - what's happening is he's not finding the pcap python module when running as root, but 'is' finding it when running as a non-privileged user, so my guess (guess) is there are multiple python interpreters installed, although he has so many old variants of a pip installed (or attempted install) pcap that it's really confusing.
A vanilla 32-bit raspios running his exact commands works fine, so there's definitely something in his setup that is hosed up. On Monday, April 24, 2023 at 5:19:49 PM UTC-7 Tom Keffer wrote: > I'm not following this exchange closely, so it's entirely possible I don't > know what's going on. > > What I will note is that both the shell path and PYTHONPATH are completely > different if the python interpreter is run with "sudo". If you installed > pypcap using pip, this could make you vulnerable. > > But, my comment may be completely irrelevant. > > On Mon, Apr 24, 2023 at 4:06 PM Michael <[email protected]> wrote: > >> >> 2023-02-21-raspios-bullseye-arm64.img >> >> >> weewx@raspberrypi:~ $ uname -a >> Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST >> 2023 aarch64 GNU/Linux >> weewx@raspberrypi:~ $ which python >> /usr/bin/python >> weewx@raspberrypi:~ $ sudo which python >> [sudo] password for weewx: >> /usr/bin/python >> weewx@raspberrypi:~ $ echo $PATH >> >> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games >> weewx@raspberrypi:~ $ sudo bash -c 'echo $PATH' >> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin >> weewx@raspberrypi:~ $ >> On Monday, April 24, 2023 at 4:00:50 PM UTC-7 vince wrote: >> >>> Lets see the following: >>> >>> - uname -a >>> >>> >>> - which python >>> - sudo which python >>> >>> >>> - echo $PATH >>> - sudo bash -c 'echo $PATH' >>> >>> >>> It looks like you're running a 64-bit os perhaps ? Which one >>> specifically ? >>> >>> Other than some odd 32-bit vs. 64-bit thing happening, I can only >>> conclude that you have multiple python3 instances installed and root's >>> $PATH is picking up the wrong one unless the commands above return >>> something really odd... >>> >>> On Monday, April 24, 2023 at 3:21:01 PM UTC-7 Michael wrote: >>> >>>> weewx@raspberrypi:~ $ dpkg -l | grep pcap >>>> ii libpcap0.8:arm64 1.10.0-2 >>>> arm64 system interface for user-level packet capture >>>> ii libpcap0.8-dev:arm64 1.10.0-2 >>>> arm64 development library and header files for libpcap0.8 >>>> weewx@raspberrypi:~ $ pip3 list --verbose | grep pcap >>>> pypcap 1.3.0 >>>> /home/weewx/.local/lib/python3.9/site-packages pip >>>> weewx@raspberrypi:~ $ python3 -c 'import pcap' >>>> weewx@raspberrypi:~ $ sudo python3 -c 'import pcap' >>>> [sudo] password for weewx: >>>> >>>> Traceback (most recent call last): >>>> File "<string>", line 1, in <module> >>>> ModuleNotFoundError: No module named 'pcap' >>>> >>>> On Monday, April 24, 2023 at 3:14:33 PM UTC-7 vince wrote: >>>> >>>>> From a clean RaspiOS that works.... >>>>> >>>>> pi@pi4jr:~ $ dpkg -l | grep pcap >>>>> ii libpcap0.8:armhf 1.10.0-2 >>>>> armhf system interface for user-level packet capture >>>>> >>>>> pi@pi4jr:~ $ pip3 list --verbose | grep pcap >>>>> pypcap 1.3.0 /usr/local/lib/python3.9/dist-packages pip >>>>> >>>>> pi@pi4jr:~ $ python3 -c 'import pcap' >>>>> pi@pi4jr:~ $ echo $? >>>>> 0 >>>>> >>>>> pi@pi4jr:~ $ sudo python3 -c 'import pcap' >>>>> pi@pi4jr:~ $ echo $? >>>>> 0 >>>>> >>>>> On Monday, April 24, 2023 at 12:51:47 PM UTC-7 Michael wrote: >>>>> >>>>>> weewx@raspberrypi:/usr/share/weewx/user $ python --version >>>>>> Python 3.9.2 >>>>>> weewx@raspberrypi:/usr/share/weewx/user $ python3 --version >>>>>> Python 3.9.2 >>>>>> weewx@raspberrypi:/usr/share/weewx/user $ ^C >>>>>> weewx@raspberrypi:/usr/share/weewx/user $ sudo >>>>>> PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/interceptor.py >>>>>> --device=wu-client --mode=sniff --iface=eth0 --filter="src 192.168.50.9 >>>>>> and >>>>>> dst port 80" >>>>>> Traceback (most recent call last): >>>>>> File "/usr/share/weewx/user/interceptor.py", line 2671, in <module> >>>>>> device = InterceptorDriver.DEVICE_TYPES.get(options.device_type)( >>>>>> File "/usr/share/weewx/user/interceptor.py", line 728, in __init__ >>>>>> super(WUClient, self).__init__( >>>>>> File "/usr/share/weewx/user/interceptor.py", line 427, in __init__ >>>>>> self._server = Consumer.SniffServer( >>>>>> File "/usr/share/weewx/user/interceptor.py", line 466, in __init__ >>>>>> import pcap >>>>>> ModuleNotFoundError: No module named 'pcap' >>>>>> weewx@raspberrypi:/usr/share/weewx/user $ >>>>>> >>>>>> On Monday, April 24, 2023 at 12:48:18 PM UTC-7 vince wrote: >>>>>> >>>>>>> Again, your python is messed up or you have python (2) and python3 >>>>>>> installed. >>>>>>> >>>>>>> This worked on a clean raspios. Same as your command just with an >>>>>>> absolute path to interceptor.py >>>>>>> >>>>>>> sudo PYTHONPATH=/usr/share/weewx python >>>>>>> /usr/share/weewx/user/interceptor.py --device=wu-client --mode=sniff >>>>>>> --iface=eth0 --filter="src 192.168.50.9 and dst port 80" >>>>>>> >>>>>>> Try 'python --version' to verify it reports the same thing as >>>>>>> 'python3 --version'. >>>>>>> >>>>>>> >>>>>>> On Monday, April 24, 2023 at 10:45:31 AM UTC-7 Michael wrote: >>>>>>> >>>>>>>> sudo PYTHONPATH=/usr/share/weewx python interceptor.py >>>>>>>> --device=wu-client --mode=sniff --iface=eth0 --filter="src >>>>>>>> 192.168.50.9 and >>>>>>>> dst port 80" >>>>>>>> Traceback (most recent call last): >>>>>>>> File "/usr/share/weewx/user/interceptor.py", line 2671, in >>>>>>>> <module> >>>>>>>> device = >>>>>>>> InterceptorDriver.DEVICE_TYPES.get(options.device_type)( >>>>>>>> File "/usr/share/weewx/user/interceptor.py", line 728, in __init__ >>>>>>>> super(WUClient, self).__init__( >>>>>>>> File "/usr/share/weewx/user/interceptor.py", line 427, in __init__ >>>>>>>> self._server = Consumer.SniffServer( >>>>>>>> File "/usr/share/weewx/user/interceptor.py", line 466, in __init__ >>>>>>>> import pcap >>>>>>>> ModuleNotFoundError: No module named 'pcap' >>>>>>>> >>>>>>>> On Monday, April 24, 2023 at 10:36:39 AM UTC-7 vince wrote: >>>>>>>> >>>>>>>>> On Monday, April 24, 2023 at 9:34:36 AM UTC-7 Michael wrote: >>>>>>>>> >>>>>>>>> I am trying to install WeeWx on my Raspi with Interceptor with a >>>>>>>>> WU-Client coming from 192.168.50.9. So far I am ending up with the >>>>>>>>> following error message when trying to run the driver directly and no >>>>>>>>> results in WeeWx. >>>>>>>>> >>>>>>>>> Activateing packet capture failed. Error returned by packet >>>>>>>>> capture library was b'socket: Operation not permitted' >>>>>>>>> >>>>>>>>> >>>>>>>>> [...omitting waaaaay too many lines.....] >>>>>>>>> >>>>>>>>> Your last command was: >>>>>>>>> >>>>>>>>> weewx@raspberrypi:/usr/share/weewx/user $ >>>>>>>>> PYTHONPATH=/usr/share/weewx python interceptor.py --device=wu-client >>>>>>>>> --mode=sniff --iface=eth0 --filter="src 192.168.50.9 and dst port 80" >>>>>>>>> >>>>>>>>> You need to do that as root. Preface that last command with sudo >>>>>>>>> so it runs as root. >>>>>>>>> >>>>>>>>> -- >> You received this message because you are subscribed to the Google Groups >> "weewx-user" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/weewx-user/e244366f-a6e4-4fc9-ab5b-abe8ad959951n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/weewx-user/e244366f-a6e4-4fc9-ab5b-abe8ad959951n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/d5504cc4-18c7-4d39-9b4f-37151e4a1c83n%40googlegroups.com.
