KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Im trying to retrieve the current iptables chains configured on the system via python. If I strace the iptables command, it outputs: strace iptables -L INPUT socket(PF_INET, SOCK_RAW, IPPROTO_RAW) = 3 getsockopt(3, SOL_IP, 0x40 /* IP_??? */, "filter\0\377`\2\351\1\0\210\377\377\210}\313\276\0\210\377\377\354\206\0\201\377\377\377\377"..., [84]) = 0 full output here: http://pastebin.com/e7XEsaZV In python I create the socket obj and try to call getsockopt and it errors: >>> s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_RAW) >>> s.getsockopt(socket.SOL_IP, 0x40) Traceback (most recent call last): File "<pyshell#46>", line 1, in <module> s.getsockopt(socket.SOL_IP, 0x40) File "/usr/lib/python2.7/socket.py", line 224, in meth return getattr(self._sock,name)(*args) error: [Errno 22] Invalid argument >>> >>> s = socket.socket(2, socket.SOCK_RAW, socket.IPPROTO_RAW) >>> s.getsockopt(socket.SOL_IP, 0x41) Traceback (most recent call last): File "<pyshell#48>", line 1, in <module> s.getsockopt(socket.SOL_IP, 0x41) File "/usr/lib/python2.7/socket.py", line 224, in meth return getattr(self._sock,name)(*args) error: [Errno 22] Invalid argument >>> Is this just not possible?
Tags (comma-separated)
Save Edits
Cancel