Menu

Tree [e912cc] master /
 History

HTTPS access


File Date Author Commit
 README.TXT 2015-04-18 Mark T Vitt Mark T Vitt [e2d012] FixedBFbug-MadeoneOutputV.65apr1015
 bufdataset.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 bufdataset_parser.pp 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 database.inc 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dataset.inc 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 datasource.inc 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 db.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_avl.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_collate.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_common.inc 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_common.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_cursor.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_dbffile.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_fields.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_idxcur.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_idxfile.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_lang.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_memo.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_parser.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_pgcfile.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_pgfile.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_prscore.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_prsdef.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_prssupp.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_reg.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_str.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_str_es.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_str_fr.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_str_ita.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_str_nl.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_str_pl.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_str_pt.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_str_ru.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dbf_wtil.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 dsparams.inc 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 fields.inc 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 fp.cfg 2014-09-02 Mark T Vitt Mark T Vitt [32408b] OffbyFourV.62
 fp.dir 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 fp.dsk 2014-09-02 Mark T Vitt Mark T Vitt [32408b] OffbyFourV.62
 fp.ini 2014-09-02 Mark T Vitt Mark T Vitt [32408b] OffbyFourV.62
 fp.sav 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 getstrfromint.inc 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 hostname.pp 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 http.pp 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 mysql50conn.pas 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 mysql50conn.rst 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 mysqlconn.inc 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 rwhois 2015-04-18 Mark T Vitt Mark T Vitt [e912cc] NewestExecuteable-rwhois-Withupdates-SourceForg...
 rwhois.conf 2014-09-02 Mark T Vitt Mark T Vitt [32408b] OffbyFourV.62
 rwhois.pas 2015-04-18 Mark T Vitt Mark T Vitt [e2d012] FixedBFbug-MadeoneOutputV.65apr1015
 sqldb.pp 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 substrings.pp 2014-04-07 Mark T Vitt Mark T Vitt [47527f] Initial commit
 whoissql.pas 2015-04-18 Mark T Vitt Mark T Vitt [e2d012] FixedBFbug-MadeoneOutputV.65apr1015

Read Me

RWHOIS
Is a simple utility written by Mark T. Vitt to grab ARIN IP Block
information for admin research and security. Its output includes basic
WildCard, Netmask, and IP range information. Updated amd Created Times
are MST.

rwhois is being released to Open Source in hopes that others will improve
and enhance it.

It should be easy to use and install without having to compile. Those
wishing to add or fix code: supporting source code is included to avoid
version or customizations issues.

Remember to follow ARIN's guidelines for using their RESTful services. It
is your responsibility to use them as intended.

IMPORTANT: CURRENT USERS who have used the MultiBlock fix including StartIP and
EndIP invalid ranges need to issue the 'fa' command option to update and/or
use appropriate MySQL commands to remove Records which may have been effected.

*** CURRENT USERS Need to Add the Following from their mysql prompt since two
    additional data items have been added - New Users do not:

alter table whoisbase add abusemail varchar(50);
alter table whoisbase add adminmail varchar(50);


Latest Fix 5/18/2015: Fixed some command line flags not working and moved output
                      functions to whoissql unit. Removed redundant output 
                      function. 
***

NOTE: This was originally written in a couple of hours and updated to quickly
fix issues, so it could be cleaned up a bit and made much more modular (objects).
The latest quick fix was records containing Multiple Network Blocks in
a single record.


EXAMPLE OUTPUT:

Get: 72.26.32.2...Ok Address...Ok POC...Ok Contact Email...Ok

SearchIP: 72.26.32.2 - IP Range: 72.26.32.0 - 72.26.63.255 (CIDR: 72.26.32.0/19)
WildCard: 0.0.31.255  -  Mask: 255.255.224.0
    Name: VTX Communications
  Handle: VTXC-1
 Address: 401 E Jackson Ave
          Harlingen
          TX
          78550
          UNITED STATES

   Abuse: netmaster@vtxc.net Admin: netmaster@vtxc.net
 MonFlag:
 Updated: 4/10/2014 12:49.35
 Created: 4/10/2014 12:49.35
  RefLnk: http://whois.arin.net/rest/org/VTXCO
Record Created


Something I would like to add is a flat file database option using TSTRINGLIST.
Such an option would not require MySql support and would reduce rwhois
footprint by half with Mysql references compiled out. A (cough) WIN32 capable
version would also be useful.


INSTALLATION DIRECTIONS:
-----------------------

Requirements - Mysql Version 5.0 
               To Compile yourself: FPC Version 2.2.4 and included sources and
                                    FP CLI settings. FP Options settings that
                                    should be manually set for Commit are:
				    Linker = Smart Libs and Debugging = Strip All


1)
Copy rwhois executable and rwhois.conf to a directory in your path.
Edit rwhois.conf with your Mysql information. Below is default rwhois.conf
file which is automatically created if not present:

# rwhois configuration file
# MySql information
host=127.0.0.1
user=guest
password=guest
database=whoisbase

New and Optional:
logile=rwhois.txt

2)
Run Mysql and copy and paste below to create the table 'whoisbase'
Monitorflag is used for internal security but should be able to be left out
unless you use the <sm> command line option.

CREATE TABLE whoisbase (
 CIDaddr   int NOT NULL,
 CIDstr    varchar(20),
 orgname   varchar(60),
 orghandle varchar(30),
 address   varchar(180),
 cidlen    smallint,
 startip   int,
 endip     int,
 epochorg  int,
 epochupt  int,
 country   varchar(20),
 monitorflag varchar(5),
 abusemail varchar(50),
 adminmail varchar(50),
 PRIMARY KEY (CIDaddr)
) type=MyISAM;

3)
Run rwhois without any parameters to confirm rwhois.conf is set right.

EXAMPLE:

/usr/local/rwhois/rwhois IPAddress <options>

a     - Show all related IP in Block (Local)
auto  - Auto Retrieve/Store non-local records
fa    - Force Add New Record in Auto (for subrecords)
l     - Log New Entries to rwhois.log
la    - Log All Entries to rwhois.log
p     - Pause Display of each record
nr    - Use only local records, do not retrieve
se    - Show Epoch next to Date/Time
sh    - Short Output
sm    - Set Monitor Flag <sm<flag>
u     - Update/Retreive Record

Search Requests:
ad    - Search for Address      (<ci> ad<"address"> <not> <bf>)
c     - Search for Country      (<ci> c<"country"> <not> <bf>)
dc    - Search for Creation Date (dc<"xx/xx/xxxx"> <bf>)
og    - Search for Organization (<ci> og<"organization"> <not> <bf>)
bf    - Output SoftBlock String for results
ci    - Do case insensitive search

String Searches like og"Test Org" are Case Sensitive unless ci option is used before search request

/usr/local/rwhois/rwhois.conf Configration Settings:
MySQL:
    Host = 127.0.0.1
    User = guest
Password = guest
Database = whoisbase
Other:
Logfile = rwhois.log

Ver.ARINRest/0.62


4)
Run rwhois with your first IP. rwhois 192.168.1.122


To Search whoisbase from Your Internal Software Use (MY_IP = IP to lookup):

SELECT * FROM whoisbase WHERE MY_IP BETWEEN startip and endip ORDER by CIDaddr