Nmap Development mailing list archives

Re: general scanning engine - request for comments :)


From: Diman Todorov <diman () xover mud at>
Date: Sat, 15 Jul 2006 10:52:32 +0200


No. I'm not thinking of changing anything in nsock.
But it would be quite easy to extract code needed
to build a chain from my program.

Now I'm reading nsock and I understood that proxy support
will be much more complicated than I previously thought.

I assumed that it's possible to use synchronous sockets
and than change them to asynchronous.
But nsock is fully asynchronous :)

I'll try to do everything asynchronous, unfortunately the code
will be much more complicated.

I'm creating some state-charts to help me with implementation.
example:
http://ai.pjwstk.edu.pl/~majek/private/nmap/sc-http-connect.png



Hello,
maybe I am missing something, but how do asynchronous sockets
make your code so much more complicated?
I may be making a fool out of myself but still:
as I see it, you only have one socket per connection, regardless
of the length of the chain. As long as I/O in that 'tunnel' socket
is ordered, you shouldn't have any issues.
About your state diagram, Nsock provides a callback mechanism
which assists you in creating multiple sockets and synchronizing them.
If I am not missing anything, your state diagram is mostly covered
in Nsock. All you have to do is use the scheduling mechanism. You
can almost pretend that you have synchronous communication ;)
In scratch/diman/nsock-tests/main.c you can find a minimal, undocumented
Nsock application which demonstrates the use of the API.
I am planning to make a 'getting started with Nsock' HOWTO but I haven't
come around to it yet. I need to document my own code first :)
Another good starting point for Nsock is nsock/include/nsock.h
You definitely should read it. Although it is a bit unstructured to be
called a documentation, its' comments are a very useful source of
information.

cheers
Diman



_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev


Current thread: