Find printer model name easily from IP list - printing

I have a list of about 3k enterprise printers. Printers can get moved, turned off, etc so there is a lot of movement. The only way to really tell the model belonging to that IP is to go to the web address of the IP which has something similar to a control panel.
For example IP 10.10.10.1 is listed as a Dell 4000 in our records but when going to the IP its actually a HP LJ 3000. The Dell was swapped out for whatever reason.
The control panels are formatted differently in regards to their html setup. Some of the models are in the html title while some aren't. Is there an easy methodology to develop to easily grab all of these from a list of about 3k?

Since I don't really want to create your whole program, I will answer in broad terms.
I assume you have a fixed set of models, all of them have a control panel, and each of them have the same control panel (for instance, all the Dell 4000 have the same control panel).
Create a list of control panel "known infos". For instance, let's say the Dell 4000 should have an element accessible by xpath //table[id='title']/tr/th/, and the HP LJ 3000 will have the name in the title.
Create a program that loops on your list of IPs, get their control panel, and compare the infos located there until you find a match with the "known infos".

Related

Extracting amount of connected devices from a router

I'm looking for a way to extract information from a router, be it from the router directly, through command, or through the routers webpage. I need to extract the amount of connected devices in real time. This has to be sent somewhere, where it gets processed and can be fed into an arduino.
The project is a kind of installation where light reacts to the amount of connected devices to the network. So more devices connected make the light do something and less make it do something else.
Is this even possible?
Thanks in advance!
Usually this information could be obtained from router's administration web interface.
For example, I found screenshot of Cisco router web interface:
Look at the bottom of the image: where are a "Current clients" field with number of clients.
So, this page could be loaded programmatically and parsed for the needed value.
As you didn't specified your router model, or your programming language or any other details, I can't give your more specific solution.
My python isn't that good though. Is there anyway you can point me in the right direction as where to look for this. And the information is in another submenu so is this still possible?this is what my router interface looks like.

Where does raw geoip data come from?

This question is a general version of a more specific question asked here. However, those answers were unusable.
Question: What is the raw source for geoIP data?
Many websites will tell me where my IP is, but they all appear to be using databases from fewer than 5 companies (most are using a database from MaxMind). These companies offer limited free versions of their databases, but I'm trying to determine what they're using for their source data?
I've tried using Linux/Unix commands such as ping, traceroute, dig, whois, etc., but they don't provide predictably accurate information.
Preamble: I believe this is actually a very valid question for SO website as understanding how such things work is important to understanding how such datasets can be used in software. However the answer to this question is rather complex and full of historical remarks.
First - it is worth mentioning that there is NO unified raw geoip data. Such thing just does not exist. Second - the data for this comes from multiple resources and often is not reliable and/or outdated.
To understand how that comes to be one need to know how Internet came into existence and spread around the world. Short summary is below:
IANA is a global [non-profit] organization which manages assignment of IP blocks to regional organizations: https://www.iana.org/numbers This happens upon request and regional organization requests specified block size
Regional organizations may assign those IP blocks to either ISP directly or to country level sub-organizations (who would assign that to ISP then).
ISP assigns IP addresses to local branches etc.
From above you can easily see that:
There is no single body which is responsible for IP block assignment to this or that location
Decisions how to (and whether to) release information about which IP belongs to which location are not taken uniformly and instead each organizations decides how to (and whether do it at all) release that information
All of above creates a whole lot of mess. It takes a lot of dedication and long time to obtain, aggregate and sort this data. And this is why most up-to-date and detailed geoip datasets are commercial commodity.
Whoever takes on a challenge of building their own dataset should be able to obtain this information directly from end users (ISPs), because higher level organizations do not know to which location each IP address will be assigned. Higher level organizations only distribute IP blocks among applicants (and keep some reserve for faster processing) and it is a lowest level organizations who decide which location gets which IP address and they are not obligated to release this information publicly.
UPD:
To start building your own dataset you can begin with this list of blocks and how they are assigned

How do I get a company name from an IP address?

I've searched around a while and all of the IP --> Hostname things actually only end up giving an ISP. Is there something that goes beyond that? I'm only finding pay services that go further and not something that I can just tap a nice API and programmatically do it.
http://ipinfo.io/ just ends up showing ISP for many of what I've sampled. I saw that guy posts here fairly often.
whoisvisiting.com runs about $99/mnth for what my company site does but in that range I'd rather code something. I'm using the free trial right now and have the IP's logging to analytics so I'm looking at what it returns, what IIS returns as the hostname and what a couple sources like ipinfo.io show and whoisvisiting somehow actually shows what I'm looking for.
There's no way to do so. There's no central registry for which company has which address ranges. In fact, most companies will just be identifiable via their ISP.
Your paid services might be scams, by the way, or just work on very few select companies and universities that actually act as autonomous entities in the IP sense.
It is unlikely to differentiate between ISP or company IP address. Some geolocation providers will use range size or level of allocation to name ISP or business. However, this approach is not always accurate.

How to view output of OutputDebugString () across the network?

Further to my previous question, I find that I cannot use the GExpertsDebugWindow on a PC which did not previously have Delphi installed.
If I have the following (not unusal, so probably of interest to others) requirements, do I need to roll my own code or is there and existing and free solution?
Must be able to read acorss the network (i.e., PC 1 monitors PC 2's debug output) by specifying PC 2's IP address
If posible, I would like to be able to filter by process name
Thanks in advance for any help
Microsoft's DebugView tool has those features. It can display OutputDebugString output, even from remote systems. Depending on other factors, it can even install itself remotely.

How does DNSBL is connected to geo-location?

I've read in Wikipedia that one of the ways to obtain geolocation information for a given IP is done using DNSBL. The following link is: http://en.wikipedia.org/wiki/Geolocation_software#Data_sources
Could someone explain me how this is done? And in general, what is DNSBL rather than a banning list?
DNSBL is a blacklist/database based on dns. DNS is just your api to get a specific result. Others could be HTTP or a simple local file.
IP needs routing and thus the physical machines doing that are placed in certain locations. Knowing that makes it possible to collect data where the routing points are and thus get to closest location of a certain IP address. (Knowing that there are 5 big co
http://en.wikipedia.org/wiki/Geo_targeting
http://en.wikipedia.org/wiki/LOC_record
http://en.wikipedia.org/wiki/Regional_Internet_registry

Resources