No es nada de otro mundo. Simplemente debes hacer el respectivo Query al apropiado whois.server.xxx y tendrás la información que deseas.
 
Por ejemplo, nos visitaron con la IP 85.225.208.52. 
Nuestro programa nos da la siguiente información: 
***********************************************  
% Joint Whois - whois.lacnic.net
%  This server accepts single ASN, IPv4 or IPv6 queries
 
% This is the RIPE Whois query server #2.
% The objects are in RPSL format.
%
% Rights restricted by copyright.
% See http://www.ripe.net/db/copyright.html
 
% Note: This output has been filtered.
%       To receive output for a database update, use the "-B" flag
 
% Information related to '85.225.208.0 - 85.225.211.255'
 
inetnum:        85.225.208.0 - 85.225.211.255
netname:        BB-BISP-dsl20-sto12
descr:          B2 customer network
country:        SE
remarks:        <INFRA-AW>
admin-c:        BR3045-RIPE
tech-c:         BR3045-RIPE
status:         ASSIGNED PA
mnt-by:         B2-MNT
mnt-routes:     B2-MNT
source:         RIPE # Filtered
 
role:           Bredbandsbolaget Routing Registry
address:        Box 47645
address:        117 94 Stockholm
address:        Sweden
remarks:        trouble:      *********************************
remarks:        trouble:      Abuse related issues is reported
remarks:        trouble:      to [email protected]
remarks:        trouble:      phone +46 586 65485
remarks:        trouble:      Abuse issues sent to other e-mail
remarks:        trouble:      adresses will be discarded
remarks:        trouble:      *********************************
admin-c:        TN2809-RIPE
admin-c:        JN1883-RIPE
admin-c:        EB78-RIPE
admin-c:        NE102-RIPE
admin-c:        ARL1-RIPE
admin-c:        TYNF-RIPE
tech-c:         TN2809-RIPE
tech-c:         JN1883-RIPE
tech-c:         EB78-RIPE
tech-c:         NE102-RIPE
tech-c:         ARL1-RIPE
tech-c:         TYNF-RIPE
nic-hdl:        BR3045-RIPE
mnt-by:         B2-MNT
source:         RIPE # Filtered
abuse-mailbox:  [email protected]
abuse-mailbox:  [email protected]
 
% Information related to '85.224.0.0/13AS8642'
 
route:        85.224.0.0/13
descr:        Broadband Customers in Scandinavia
descr:        Please report improper use to [email protected]
origin:       AS8642
mnt-by:       B2-MNT
source:       RIPE # Filtered
 
% Information related to '85.224.0.0/13AS2119'
 
route:          85.224.0.0/13
descr:          More specific due to migration
origin:         AS2119
mnt-by:         AS2119-MNT
source:         RIPE # Filtered  
*********************************************** 
Lo interesante de esta experiencia es que si tienes el siguiente dato:  
inetnum:        85.225.208.0 - 85.225.211.255 
Entonces, muy fácilmente puedes conocer el rango completo de IP asignadas a este usuario. Así para la mayoría de casos. 
Eso nos invita a pensar que esas bases de datos que algunas empresas vende por ahí, bien caras por cierto, no es otra cosa que completar los valores que faltan, y así obtener el rango completo de IP. Sólo es cuestión de algunas verificaciones. 
Por otro lado, la transformación de IP a valores numéricos, es un proceso simple y sencillo. En otra oportunidad te explico la fórmula para lograr dicha transformación.