May 2, 2014
ramp is a racket port scanner. Utilizing the racket/tcp library the program attempts to make a connection to each port over the range specified to the host. It emulates the functionality of the nmap -sT scan.
- Mapping and filtering is used extensively to federate the multi-threaded tcp-connect requests
- Lambda functions are used to implement mapping over a group of channels
- A (very large) hash map is used to implement the port->service capabilities.
The racket/tcp library is used to preform connection operations to the intended host. Also implemented are the threading & channeling functionality in order to make the connects happen simultaneously and not block each other.
The output is in such a form that it allows this code to be easily extend an existing/new project via the (rmap ip startPort endPort) command.
Technology Used Block Diagram
Create a simple block diagram of your software system that illustrates the major technical components and how they interact; e.g.: