Open JorgeJuanTel opened 5 years ago
I personally do not have much experience with Windows logging.
Let's may be start with something simple e.g. --logging-method=file:snmpfwd.log
? Though the default is stderr
, may be also try --logging-method=stdout
? It may also have something to do with user permissions.. Sorry, I do not have anything more specific to offer off the top of my head.
If you could debug that any further to come up with a fix, that would be useful! The code to start with is perhaps here.
Thank very much. I have debugged the code and the problem is in the function PrivilegesOf. The debugger says: AttributeError: module 'snmpfwd.daemon' has no attribute 'PrivilegesOf' I have seen in the daemon.py file that PrivilegesOf is not defined for Windows:
if sys.platform[:3] == 'win': def daemonize(pidfile): raise error.SnmpfwdError('Windows is not inhabited with daemons!') def dropPrivileges(uname, gname): return else:
Is it correct? Maybe I have an old version of daemon.py. I have to tell you that I am a beginner with Python.
In any case, I have defined the class PrivilegesOf inside the 'if sys.platform[:3] == 'win':' and, it works now.
Thank you Best regards,
Jorge
I ran into the same issue as Jorge. His solution worked for me. I wish I noticed that it was in the daemon.py script file as I was looking in the wrong place. I am new to Python as well so I'm not sure if I fixed it in the cleanest way.
I am running snmpfwd version 0.4.4 with Python 3.8 on Windows 10 for testing.
For those attempting the same (with a pip installation), the file is located here:
Thank very much. I have debugged the code and the problem is in the function PrivilegesOf. The debugger says: AttributeError: module 'snmpfwd.daemon' has no attribute 'PrivilegesOf' I have seen in the daemon.py file that PrivilegesOf is not defined for Windows:
if sys.platform[:3] == 'win': def daemonize(pidfile): raise error.SnmpfwdError('Windows is not inhabited with daemons!') def dropPrivileges(uname, gname): return else:
Is it correct? Maybe I have an old version of daemon.py. I have to tell you that I am a beginner with Python.
In any case, I have defined the class PrivilegesOf inside the 'if sys.platform[:3] == 'win':' and, it works now.
Thank you Best regards,
Jorge
Helped
Hi
I'm trying to run snmpfwd-server in Windows but when I execute it in a console window nothing happens. No matter what parameters I put, it does not do anything (except the version and help parameters that do work) .
I'm using the example SNMPv3 to SNMPv1 proxy server configuration file. This file is located in the directory "c:\tmp". In the next example, I run the command three times. The first time to check the script printing the version. The second and third time, passing the configuration file with a relative path or with an absolute path.
C:\tmp>snmpfwd-server.py --version SNMP Proxy Forwarder version 0.4.4, written by Ilya Etingof etingof@gmail.com Using foundation libraries: pysnmp 4.4.9, pyasn1 0.4.5. Python interpreter: 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:57:15) [MSC v.1915 64 bit (AMD64)] Software documentation and support at http://snmplabs.com/snmpfwd/ Usage: C:\Program Files\Python37\Scripts\snmpfwd-server.py [--help] [--version ] [--debug-snmp=<io|dsp|msgproc|secmod|mibbuild|mibinstrum|acl|proxy|app|all>] [--debug-asn1=<none|encoder|decoder|all>] [--daemonize] [--process-user=] [--process-group=]
[--pid-file=]
[--logging-method=<syslog|file|stdout|stderr|null[:args>]>]
[--log-level=<debug|info|error>]
[--config-file=]
C:\tmp> C:\tmp> C:\tmp>snmpfwd-server.py --config-file=server.conf
C:\tmp> C:\tmp>snmpfwd-server.py --config-file=c:\tmp\server.conf
C:\tmp>
Also I have tried to put the parameters logging-method, log-level and debug-snmp but nothing has worked. Maybe it is a problem of windows permissions, but at this moment I have run out of ideas. My operating system is Windows 10 and my user is an administrator of the machine.
I would appreciate any help. Best regards,
Jorge