The purpose of dupipfind is to detect duplicate fixed IP's on the network. there may be other ways of doing this, but in general duplicate IP's causes network headaches I've found.
The tool is also useful for seeing who's on your network.
This tool can be replaced (for single IP addresses) with the following built-in OS command:
nbtstat -a ipaddress
At least I think it will work. my first winsock code in a long time.
What it does it report the machine names of each IP (0-254 [255 is broadcast, so that's not allowed]) in a specified subnet, and also that IP's alternate IP's (the other NIC's installed).
MinGW compiled executables with sources [windows 32+64-bit]).
dupipfind for windows can be obtained as a single dupipfind.zip.
right click on the download button and pick save target as(ff) or save link as (ie) or click on the button(chrome, safari)
07/18/2011 06:38 PM 4,595,919 dupipfind.zip %%%% HASHDEEP-1.0 %%%% size,md5,sha1,sha256,filename ## Invoked from: C:\prj\dupipfind ## C : \ > hashdeep -c md5,sha1,sha256 dupipfind.zip ## 4595919,eba107278a89e8242c870a48a944bfe9,039393d6453cae35bdf1c43ec2ef9625e3fa8f46,4418975638810d3ed0d2ca13d8244acaaeb443b8d2d82f7af22ebd65e568c14d,C:\prj\dupipf ind\dupipfind.zip
It's a slow tool, takes up to 12sec/IPaddr*255IPaddrs=3060seconds/(60seconds/min)=51 mins. to execute.
like most of my tools, it's command-line, but it's very simple to use:
dupipfind 192.168.1.255 (the .255 on the end means do 1 to 254)
dupipfind -start 100 -end 110 192.168.1
since the output will probably be a minimum of 255 lines long, I suggest you redirect it to a file like so:
dupipfind 192.168.1 > 192.168.1.txt
I have noticed that instead of a named ip address, a machine that is not logged on yet will produce simply the machine name.
This is intended to be an IT/IS tool.
C:\prj\dupipfind\dupipfind-1.0\win>dupipfind dupipfind - find names of computers with duplicate IP addresses on a subnet. usage: dupipfind [-[-]?] [/?] [-[-]h[elp]] [-[-]v[ersion]] [/version] dupipfind [[-]-s[tart] integer] [[-]-e[nd] integer] subnet [subnet ...] -h or -? or /? or /h or /help or -help or --help gives this help and quits. -v or -version or --version gives the version number and quits. -s integer or -start integer optionally specifies the start range (default is 0) . -e integer or -end integer optionally specifies the end range (default is 254). integer can be hexadecimal: start with 0x, 0X, decimal: plain or start with 0d, 0D, octal: start with 0, 0q, 0Q, 0o, 0O, binary: start with 0b, 0B. example: dupipfind 192.168.1 example: dupipfind 192.168.1.255 example: dupipfind -start 0x1a -end 0b11001010 192.168.1.255 > results.txt The last .255 will be stripped out if it finds 3 dots. The program will test each ip on this subnet one by one from 0 to 254 (which wil l be appended to your address), or a different range if you specify with the -st art and -end parameters. Do not use domain names or netbios names. only IPV4 addresses supported. If you have a fairly empty subnet, it will take a long time (12sec/IP address*25 5 IP's=3060 seconds) or 51 minutes. dupipfind shows the machine names and alternate IP's of each IP address on the s ubnet. Program Copyright 2009 Jim Michaels and under the GPL3 license. atoi64 library copyright 2007,2008,2009 Jim Michaels and under GPL3 license. C:\prj\dupipfind\dupipfind-1.0\win>
- fixed number input library in 1.3
Future features (if I can handle it)
- IPV6 addressing.
The dos version [at this time there is none] is compiled with DJ Delorie's djgpp (gcc for DOS). It can be obtained at DJDelorie.com/djgpp.
The windows version was also compiled with MinGW 5.1.4 which is a GNU compiler set for windows. it has the peculiarity that it requires any use of
#include <basestd.h>, and it also doesn't allow 64-bit constants in the microsoft/borland style of appending
i64 to the number. it requires you to use the gcc
LL instead, however, printf does use
%I64d rather than the normal gcc
%lld. If you use
%lld, your program will crash and do the DrWatson error report thing.
PHP is a programming language used for web page development and for applications and is available at http://php.net
ArgoUML is a UML diagramming tool used for designing programs and is available at http://argouml.tigris.org
It is under the GPL3 license.
Atoi64 library Copyright 2007 Jim Michaels This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
GPL3 license text available here.