jNetMap - which printer is still on?

I'm happy to (finally) present a new tool: jNetMap

jNetMap will ping all registered devices every x minutes, updating it's status according to the result of the ping. Alternatively you can also monitor a specific port, such as port 80 for webservers. Available devices are green, unavailable devices are red. Gray means "unknown" and orange "not found".

To start drawing a new map, select "add", enter the details and hit enter. You can connect the devices by right-clicking on a device and selecting "connect". The rest is pretty self-explanatory I guess...
You can also save and open existing maps so you don't have to redraw everything ^^
It also supports arguments, e.g. "java -jar jNetMap.jar some/where/some.netmap" will open the "some.netmap" when starting the application. This also works for the "open with..." option in any OS.

News: I'm working an a complete rewrite of jNetMap for the 0.5 release. This project has grown to much and the current framework is not able to carry more features. Please be patient, it may take a while :-)
I was also able to take over the project space over at sourceforge.
More...

» Download

Version 0.3.3.5 (25. Jul 2009)

executable .jar file (crossplattform)
requires Java version 1.6.0.13 or later
Ubuntu/Debian available .deb-file  

» User Manual

PDF File (right-click, save as ...)  
» get the source code zip  (released under the GPLv3)
   

  Feedback, suggestions & feature requests: public(at)rakudave(dot)ch

Tutorial Video

Known Issues:

  • The .jar doesn't work out-of-the-box on Mac OS X.
    fix: Change Java-version manually in the preferences.
  • Some Windows systems seem to have problems performing network scans.
    fix: set timeout to 1000ms or higher (50ms works fine on Linux).
  • Machines that are pingable in the console don't show up in jNetMap
    status: unable to reproduce

Report a bug: bugs(at)rakudave(dot)ch with "jNetMap" in the subject line

hak5 about jNetMap (version 0.1.6)

from episode 5-15

Thanks

  • Hak5 / Darren Kitchen for some media attention
  • Rick Weller for many good ideas (custom icons, password protection, draggable canvas)
  • godane for linking jNetMap on archlinux
  • Austin St. Aubin for his bugreports and ideas (background images, notes)
  • Softpedia for featuring jNetMap on their site:

Change History:

Version 0.3.3 (25.07.09)
new: choose background color
fixed: "export image" only exported visible area
fixed: statistics background not drawn correctly
Quickfix 0.3.3.5: export function failed to return to normal drawing mode

Version 0.3.2
new: Notes (Edit > Add Note)
changed: Switches now support names
fixed: ping intervall didn't save correctly
fixed: ignore triggers didn't save correctly

Version 0.3.1

new: background images (for floor plans etc.)
fixed: line label deleted on switch insert, now transfered to new line
fixed: history item saved although no real change was made (now checks for real changes first)
fixed: clean URLs when using help etc.

Version 0.3
new: automatically checks for and downloads updates (can be turned off)
fixed: triggers won't fire on startup
fixed: alignment didn't always work when the canvas has been moved
fixed: devices were deselected when dragging the canvas
fixed: initial network scan didn't ask for timeout value

Version 0.2.9
new: removing a line will recursively remove all connected via-points as well
fixed: via-points could have more than 2 lines (will now be ignored for connecting if lines >=2)
fixed: connecting to empty space creates new viapoint (now only if 1 item is selected)
fixed: via-points were multiselecteble
fixed: invoking port-scanner via tool-menu failed to send the IP of the selected device along to the scanner

Version 0.2.8
new: via-points (enables bent lines)
changed: line ends rounded (looks better with bends)
fixed: switch coloring not reliable when exclusively connecting two switches
fixed: menu entries disabled incorrecly
fixed: ping-timeout not read correctly

Version 0.2.7
new: multi-connect
new: remove a password (Protect > enter current password > ok > new? cancel > remove? yes)
changed: Preferences > Max. undo has a up/down control instead of a slider
changed: Doucumentation updated
changed: Settings window now static
fixed: incorrect passwords would not reprompt
fixed: "See dokumentation" pointed to main site, now points to download anchor

Version 0.2.6
new: tray icon and menu
new: minimize to tray
new: password protected files (Edit > Protect)
new: option to remember window size/position
new: user manual (pdf, see download section)
fixed: scan would add already added devices (now excluded based on IP)
fixed: proper "free software" disclamer in both source and "about"-dialog

Version 0.2.5
(massive changes, skipping subsubversions 3 and 4)
new: extensive preferences
new: custom icons
new: images stored as base64 strings
new: middle-click to directly connect devices
changed: removed "switch (managed)" and "UPS (managed)", use "preferences > icons"
changed: major relocation of code (most to the new preferences)
changed: triggers merged with preferences window
fixed: triggers didn't work when pinging
fixed: trigger arguments treated as env.vars
fixed: preference file only written on quit, not on save
fixed: triggers fired on application startup
fixed: missing images resulted in blank icons, now replaced with "other"-icon

Version 0.2.2
new: labels for lines (for additional info about this line, such as "cat5")
new: UPS (managed) icon
new: reset canvas (if you drag the canvas too far and can't find your icons anymore)
new: open any device in your browser (many devices have http config interfaces)
fixed: legacy support for .netmap files above v.0.1.5

Version 0.2.1

new: drag canvas (right mouse button, made for viewing large maps on small screens)
new: appropriate cursor icons
new: switch (managed) with configurable IP
new: adjustable scan timeout (way faster now)
fixed: negative ping intervals caused infinite ping loop (use 0 or less to stop timed scanning)
fixed: grid align algo failed after dragging the canvas
fixed: main window would show up after asking to scan
fixed: exception caused by non integer inputs
Maintainance release 0.2.1.1 (07.06.09)
fixed: failed to store settings in .jar file
new: settings stored in home folder (so you don't have to re-enter them every release)

Version 0.2

new: scan network for devices
new: undo/redo
new: keyboard shortcuts
new: recent files
new: remembers window size, current file and file history
new: asks to scan or load example on first launch
fixed: settings/add not disabled in menu when multiple devices were selected
fixed: remove/connect/disconnect/settings not disabled when nothing was selected
fixed: checkboxes in main menu out of sync with the actual state
fixed: displayed frame before settings were applied, flickered
fixed: background of statistics too high, blocked vie

Version 0.1.9
new: real PING using ICMP/ECHO
fixed: remembers ping interval as well
fixed: multi-select with right-click disabled settings/add

Version 0.1.8
new: triggers (execute commands when device changes its state)
(still a bit unstable, refrain from using <>&|"; etc., use scripts with parameters)
new: remembers settings (legend, stats, grid, triggers)
new: statistics
fixed: multi-select triggered when clicking on a device while another device was active
changed: reorganized some menus

Version 0.1.7

new: multi-select
new: multi-remove/disconnect/move/align
fixed: settings dialog now centered
fixed: align to grid no longer aligns to top-left
fixed: example file now hardcoded

Version 0.1.6
new: image export (thanks Hak5 for the inspiration)
new: save as...
fixed: better coloring mechanism
fixed: connecting three switches in a row resulted in gray middle switch

Version 0.1.5:
new: lines are selectable
new: remove single lines
new: insert switch into a line

Version 0.1.4
new: progressbar tooltip indicates which ip is beeing pinged
fixed: "rightclick -> add" positions the new device at the current mouse position
changed: renamed from "NetMap" to "jNetMap"

Version 0.1.3
new: progressbar
new: name
fixed: gui hanged when pinging
fixed: centered text

Version 0.1.2
new: align to grid
new: menu replaces buttons
fixed: line to switch always gray

Version 0.1.1
new: grid mode
new: legend
new: lines are colored half/half

Version 0.1
first release

I scanned on a Vista laptop and although it goes through all the ip addresses, nothing comes up on the map. Java is 6.0.130.3

same here... scanned and no devices appear. vista 64bit

try setting a higher timeout value (Edit > Scan > Timeout)
50ms works fine for me (ubuntu linux), but setting it to 500ms might help

I'm running the software on a Win XP Pro machine and am also getting nothing. I'm a networking noob so I may totally be screwed up, but I think I'm using it correctly.
KP

set it to 500ms, still nothing

how do you get this to run in Windows XP?

Ok, as a do not use Windows, I haven't tested it on non-unix systems.
This looks like a serious problem however, so I'll investigate it on my VM.
Meanwhile, just add the devices manually using "Edit > Add" or with the right-click menu.

Edit:
Confirmed.
Anything below 1000ms will fail. I have no idea what the problem is...
(Linux: 50ms, Windows 1000ms)

I can confirm that on Vista 64, it does not seem to find anything at all no matter the timeout. I tried everything up to a few thousand ms and still got nothing.

However, if you add the nodes manually you can "check" them and they will be green. I assume these use the same methods so something is wrong in the scan somewhere.

Could it be scanning on the wrong network interface (Vista creates a *lot* of interfaces for tunnel adapters and the like - I also have a VMware virtual interface that could be throwing it off)

Wonderful app. Works good on xp with 1250 timeout.

I think it would be cool if you could add a background image like a floor plan. Maybe that's a feature you could add in the next release.

implemented in version 0.3.1
(thanks for the idea :-)

Hi,
www.rakudave.ch to GoogleReader!
Have a nice day

Erudite Sir, This is really very effective software. I appreciate the efforts of administrator and very grateful to him for posting such great information. You have disseminated it in an excellent way. You should not rest on your laurels and continue working even harder!

Great utility, thank you very much for sharing.

I have a device on my network that responds to ping via a console command line but will not show up as connected (green)on the map. What could be the cause of this?

I know, a friend of mine has this same issue, but I have no idea what the problem is. jNetMap sends a standard ICMP/ECHO request, just as "ping" does... any luck using ports?

I found your post very informative and helping in which printer is still on is very good and interesting method. Especially your way of describing is very excellent and easy to use. The tutorial video makes your post so interesting and helpful. After exams I will try your method. Thanks for sharing very effortless and great post.

I want to it send email to tell me when my device is down but I can't do it !! Who can do it !! Triggers>> device truns red >> /home/rakudave/deep_down.sh !! That deep_down.sh shuld how to do !! who can hlep me !!

Thanks !!

I still cannot ping my virtual server from jnetMap.
The virtual server can ping from term but jNetMap can not recognize them.
Also pfsense router that provide my internet, still not connected from jNetMap.

Regards,
Fadjar

Ok, the triggers are just interfaces to some scripts you'll have to write. (batch-file on windows, sh or similar on UNIX). I plan to intrgrate SMTP (Email) and Twitter into jNetMap v0.5, but that's still some time away, so please be patient...

As for jNetMap not recognizing some hosts, I'm aware of that, but I have no clue why this happens. You might have to use port-mode to overcome this...