Challenge the net:
3d Traceroute

 
Get your
free beta
 
Freeware: 2.4.39.2 Release date: 2008-03-24
PRO: 2.4.39.2 Release date: 2008-03-24
Freeware Beta 2.3.33.56 Release date: 2008-01-06
PRO Beta 2.3.34.58 Release date: 2008-03-07
 

The Console

First: if you want to use the console mode, you need to switch the application into console mode. This is done at the settings page or via command line. You can always switch back.
You need to do that everytime again if you download a new copy of 3D Traceroute.
Read "the story behind the story" if you are confused by the console window management.

Jump to Command Line or Examples


Command Line

d3tr <target>
 

EXCEPTION! This is a command that works in GUI-mode! You don't need to switch!

Load 3D Traceroute in GUI-mode and start a visual trace to <target>.

d3tr ping
d3tr ping <target>

d3tr http
d3tr http <target>

 

EXCEPTION! This is a command that works in GUI-mode! You don't need to switch!

Load 3D Traceroute with its "Simple Ping Window" to do a long time ping or HTTP-Head-Get.

Trace
d3tr -t <target>
  trace to <target>
-tc <number>
  do <number> of traces to <target>
(Remark: internally the number of traces can be somehow higher. The trace engine continues tracing, until the name resolver has processed all IP-adress to get the hostname.)
Whois
d3tr -w <target>
 

execute a whois-lookup for <target>.

d3tr -wa <filemask>
 

first, 3D Traceroute will recurse throu the current or any named directory, scanning all files matching the mask.
With this collected list of IP-adresss or hostnames, it will execute a whois.

3D Traceroute expects, that the lines begin with a hostname/IP-adress, separated with a space. This is the standard apache-webserver access-log file format. Duplicate IPs are removed, list is sorted internally somehow by IP-adress.

-ws <servername>
  set whois-server, default is the last with GUI used.
-fh
-fi
  Add -fh to force resolve as hostname if ip is given, add -fi to force resolve as ip if hostname is given. If missing, target will be interpreted as is.
Harvester
d3tr -m <domain> -sc <string>
 

execute a whois-lookup for <domain>, replace all the characters 'string' begin with by the rest of 'string'

(You really want to look at the examples.)

-st
 

switch well known TLD

-sp
 

try ping before whois

-sr
 

do a host resolve before ping or whois

-sq
 

only do a ping, no whois

Hostname-ip-number translations
d3tr -i2h <ip-adress>
  Translate a IP-adress into a hostname.
d3tr -i2ha <hostname>
  Translate IP-adress collected from access-log-files into a hostname.
Same concept like "-wa".
d3tr -h2i <hostname>
  Translate a hostname into a IP-adress.
d3tr -h2h <hostname>
  Converts the hostname into a IP-adress and the IP-adress back into a hostname. Usefull to detect virtual hosts.
d3tr -i2i <ip-adress>
  Translates the IP-adress into a hostname and the hostname back into an IP-adress. Usefull to detect area depending rounting.
Atomic Clock Sync
d3tr -time view
  Show atomic clock time.
d3tr -time set
  Set atomic clock time.
Cache managment
d3tr -cy
 

Turn usage of the internal item cache on (cache yes).

d3tr -cn
 

Turn usage of the internal item cache off (cache no).

d3tr -cc
 

Flush/Clear the content of the internal item cache (cache clear).

d3tr -ca <hours>
 

Set the maximum age of items in the cache to <hours>.

Miscellaneous
d3tr -sui
 

Switch userinterface from GUI-mode into CUI-mode or vice versa.

Please allow a very short time after that to accomplish the task.

-v
  Verbose. More a diagnostic thingy. Put it at the beginning to get full diagnostic.
-ta <text>
  Within all -*a, it defines a search text that must be in a log line.
d3tr -h
  Help.
 

Command line will accept - as seperator. But \ or / is fine, too.

Commands are executed from left to right. Multiple commands are ok.


Examples

d3tr -t www.hlembke.de -tc 10
  Do at least 10 traces to www.hlembke.de.
d3tr -w www.hlembke.de | more
  Do a whois of www.hlembke.de and pipe the data throu more.
d3tr -w www.hlembke.de> result.txt
  Do a whois of www.hlembke.de and redirect any output into the file result.txt.
Notice the automatic strip to SLD and TLD.
d3tr -w www.hlembke.de>> result.txt
  Do a whois of www.hlembke.de and append any output into the file result.txt.
d3tr -i2h 24.7.76.82 -h2i www.hlembke.de  

More than one command is ok, as long as every command is only used once.
Read as: "-h2i foo -h2i baa" will not work.

d3tr -i2ha acc*.* -ta default.ida   Grabs all log-lines that match acc*.* in current and all subdirectories that contain the string "default.ida" and tries to resolve the IP-adress into a hostname.
d3tr -wa \\foo\log\acc*.* -fh   Look onto the computer foo for the files, then convert them into hostnames and do a whois for every.
d3tr -m www.fu-com-na.com -sc - -st -sr  

This will result in tests for

www.fu-com-na.com
www.fucom-na.com
www.fu-comna.com
www.fucomna.com

and, of course, all TLD-variations for this four names. Note the dash in front of the second to last param, the -st.

d3tr -m www.companie--.com -sc -0123456789 -sr

 

This will test everything from

www.companie.com
www.companie1.com
...
www.companie01.com
...
www.companie10.com
...
www.companie99.com

d3tr -m www.google.de -st -sr   This will find any domain that is resolvable with googles name in it.

The Story behind the Story

Windows is a funny thing. Really. One of the major funny things are console applications.

But from the beginning. The executable image of an application (aka "exe-file") has a lot of flags, some of them are interpreted during the load-process before execution starts. One of these flags is the "subsystem"-flag. With it, the loader (aka CreateProcess) detects the application type: native, gui, cui, os2 or posix (and some other).

Normally it is set to gui, because you want to have this nifty windows.

It is no problem to have a "mix-mode" application with nifty windows and a console window (to write out debug and error messages). Anytime you want to write something onto a console, you can open one and write to it.

The only limitation is, that this way you can't write to that console an application is startet from via command line. To accomplish this task, you need to flag the application with the cui-value in subsystem. The loader then will not create a new console but connect your application automaticly with the current console.

But: If you call this application from the explorer or from a desktop icon (All the windows users will do that!), there is no console the loader can connect to. What does he do? Simple: create a new one. This looks funny, because first a console window is opend, then the nifty gui window opens. And you get two taskbar buttons.

So you have two possible situation: gui-value: no writing to the command-console but open a new console, if needed. And cui-value: writing to the command-console, but getting a console window, if called from explorer/icon. This additional console window isn't that big problem, it can be close by a simply api-call.

So you need to flag the application with cui in subsystem and close the console, if it is not needed.

"So what is the problem?" you will ask. Problem is: it is irritating and most windows users will consider it as an bug, if a "dos shell" flashes up everytime they start the program.

So 3D Traceroute has to do some heavy hacker (:-) tricks to solve this problem.

 
Impressum
quittengelb