****************
Project Overview
****************
Java API for networking utilities, with the following features:
- Java SE6 utility library to interface with Windows.
- Batch files and network commands.
************
Deliverables
************
-Java source
-Project or builder files (e.g. NetBeans, Eclipse, maven)
-Auto-generated javadocs
-Batch file and network command scripts
-Test logs
-Version list of all tools, applications and libraries
*****
Terms
*****
The job vendor (LittleBookOfCalm) values privacy and anonymity, however it should be noted that the work being undertaken is on behalf of Australian-based business interests (herein referred to by "us", "we", "our"). Therefore, our policy is to retain ownership of work done as set out in the IP (Intellectual Property) section (see attachment). The agreed project fees are considered fair for the procurement of software development services and must therefore not be subsidised or discounted by you for the purpose of claiming any portion of the work.
Coding standards and required test evidence is described in the attachment.
*************
Specification
*************
The following features are required:
-Retrieve a list of network interfaces (name and MAC address).
-Determine (or guess) type of connection: wired LAN, WiFi, Wireless broadband, Dialup modem...
-(per interface) Read/write IP address/mask
-(per interface) Read/write Default gateway
-Retrieve all routes (routing table)
-Add/modify/remove routes
-Ping IP address
Optional wishlist:
-Traceroute
-Portability (linux and mac)
The target platform is Windows desktop. The application should work on all current versions (XP, Vista, 7). Where possible, platform-independent Java APIs should be used. For more complex tasks, external windows scripts can be invoked via JNI. The scripts should contain all commands, i.e. the Java code should not contain windows commands, only references to the scripts.