Communicating with all network computers regardless of IP address

Refresh

November 2018

Views

1k time

2

I'm interested in finding a way to enumerate all accessible devices on the local network, regardless of their IP address. For example, in a 192.168.1.X network, if there is a computer with a 10.0.0.X IP address plugged into the network, I want to be able to detect that rogue computer and preferrably communicate with it as well. Both computers will be running this custom software.

CLARIFICATION: We want to handle the situation where we do not know what the single computer's IP address is and cannot guarantee that it's on any particular subnet. All we know is that the computer is physically plugged into the same switch and the computer has a static IP assigned to it (but that IP could be anything).

We have remote access to one computer on the network (say, 192.168.1.30), and we want to be able to communicate with all other computers on the network, regardless of whether their static IP is set to 192.168.1.x, 10.0.0.x, 10.45.21.7, etc.)

I realize that's a vague description, and a full solution to the problem would be lengthy, so I'm really looking for help finding the right direction to go in ("Look into using class XYZ and ABC in this manner") rather than a full implementation.

The reason I want this is that our company ships imaged computers to thousands of customers, each of which have different network settings (most use the same IP scheme, but a large percentage do not, and most do not have DHCP enabled on their networks). Once the hardware arrives, we have a hard time getting it up on the network, especially if the IP scheme doesn't match, since there is no one technically oriented on-site. Ideally, I want to design some kind of console to be used from their main workstation which looks out on the network, finds all computers running our software, displays their current IP address, and allows you to change the IP.

EDIT: Unless I've misunderstood something, I don't think I can use the broadcast address 255.255.255.255 to do this. the problem is that the rogue compuer doesn't have a route back to the originating computer, so it'll drop the packet. Perhaps I've misunderstood something, but the diagram below shows my understanding of what would happen.

5 answers

0

Предполагая, что у вас есть тестовый стенд, который напоминает свою фотографию

1 - On the 192.168.1.30 PC get a dos prompt
2 - Type  arp 10.0.0.47 <enter>
3 - Type  arp -a <enter>

Есть ли у 10.0.0.47 запись?

1

То, что вы хотите трансляции, вот статья о нем:

http://www.codeproject.com/KB/cs/BroadCasting.aspx

0

Это был мой опыт, как правило, существует три подхода.

Есть предопределенное количество IP-адреса, что компьютер всегда будет пытаться и контакт, когда речь идет о сайте (например, 192.168.x.250, 192.168.x.230 и т.д.), и пусть этот компьютер будет прокси, с помощью которого вы можете подключиться к каждому другой компьютер в сети. Указанное программное обеспечение будет работать в качестве службы и каждые 5? минут будет подключиться к серверу, чтобы подтвердить, что до сих пор в Интернете.

С другой стороны, просто сканируя каждый IP-адрес итеративно. Да, это занимает много времени, нет, это не «обременительное», как мы говорим аппаратные и программное обеспечение. Вы генерировать сетевой трафик таким образом, конечно. И совсем немного о нем. Но так как вы знаете, что возможные диапазоны IP, Вы можете сканировать их.

Третий вещает, но это немного другое.

Это и грубые силовые приемы. Я хотел бы начать там и уточнить по мере необходимости. Бритва Оккама и все, что беспорядок. (Да, я понимаю, что это точно «множественности не должны быть положены без необходимости», но это звучит круче сказать Бритву Оккама ~ не Попробует Эйнштейн: «Сделать все так просто, как это должно быть, но не проще»?)

0

Вы можете использовать адреса многоадресной / широковещательной передачи для связи со всем компьютером сети.

Вы можете обратиться к этой теме для того, как использовать эту технологию для применения .NET:

Поддержка многоадресной передачи в .NET

Основная идея заключается в том, что в том, что ваши клиенты будут слушать этот адрес многоадресной рассылки, и когда они получают информацию (PING), они могут отправить его обратно (Pong).

2

Вы можете посмотреть на различные открытия протоколов, в частности , открытие SNMP. Вы также можете сделать что - то простое , как прослушивание передач UDP и каждый компьютер , а затем ответить. Имейте в виду , что все эти решения можно ввести дыры в безопасности, и ваши клиенты могут не оценить этого.