Duncan. We have upgraded to twisted 2.4!
-EAD
On Jun 15, 2006, at 6:38 AM, Zenoss wrote:
#135: Discover TCP services by doing a port scan
----------------------------
+-----------------------------------------------
Reporter: edahl | Owner: oubiwann
Type: enhancement | Status: assigned
Priority: major | Milestone: zenoss-0.21.0
Component: DataCollector | Version:
Resolution: | Keywords:
----------------------------
+-----------------------------------------------
Comment (by oubiwann):
I have added a custom semaphore module to my sandbox. It's based
on some
code I wrote a while ago for grouping deferreds. There is a minor
improvement in socket handling (the reactor now handles over a
thousand
ports before barfing, as opposed to only handling 250), twisted
1.3 is
still sorely lacking in the kind of performance needed for a
portscanner.
Note that my custom semaphore code not works perfectly with python
2.4 and
twisted 2.2, and it also out-performs the twisted-native
DeferredSemaphore
by about 14%.
After lots of testing and reading some of the tickets on twisted's
trac,
I've come to the conclusion that the twisted 1.3 code is simply not
capable of handling thousands of sockets gracefully. Also, one of the
fixes mentioned in 2.0 is "Close client sockets explicitly after
failed
connections" (and this may be the source of the problem).
So it seems that we can't get a fully functional portscanner in
twisted
unless we upgrade.
[1 hour later]
Yes! That was it! I tracked down the changeset in the twisted code
base.
The following files were changed:
twitsed.internet.base
twitsed.internet.tcp
twitsed.internet.ssl
Unfortunately, this was also the time when they moved from
__implements__
to zope.interface.implements(), so there was some mess in this
changeset I
had to clean up before porting to 1.3. I have now changed these
files and
will put them in the sandbox, pending discussion on how to
integrate the
socket fixes into the current zenoss code base.
But: woo-hoo! portscan works in 1.3 now!
--
Ticket URL: <http://dev.zenoss.org/trac/ticket/135>
Zenoss <http://example.com/>
Zenoss Monitoring System
_______________________________________________
zenoss-users mailing list
[email protected]
http://lists.zenoss.org/mailman/listinfo/zenoss-users