Re: TCP connection to MAC address
- From: Chris Shepherd <chsh@xxxxxxxxxxxxxx>
- Date: Fri, 31 Aug 2007 10:45:47 -0400
Nicolas Noakes wrote:
> Chris,
>
> The device a networked logic controller. There is no practical method
> available for displaying or otherwise retrieving it's current IP
> address. It does not support DHCP - I assume for the same reason that it
> cannot tell you what it is using so it would be pointless. The device
> may not have an address set (as supplied), or may be on another IP
> subnet, or you may just not know its IP address.
>
> Therefore, until you have set the device to an explicit IP address that
> you know of, you have no way of communicating with it on the network.
Understood. I'm surprised that they don't support the loopback interface.
[Snippage of instructions]
> This process in not difficult or problematic, but it is very manual. I
> would like to write a small utility where I can simply enter the MAC
> address and desired IP address and click "Set". Both as a useful tool,
> and to learn networking from a C# point of view.
>
> Does that help? Thanks for your interest.
Yes it does. Going back to your OP:
> Basically it looks like creating a TCP connection on port 1, based on
> MAC address instead of IP address, then a normal TCP connection on
> port 80 to do an HTTP POST and set the IP address. The first step may
> be a little more involved, since the IP address will have to be
> included somewhere.
It is not initiating a TCP connection to a MAC address, as those are on different layers. All it is doing is emulating the loopback address by setting a default IP, and hitting it on a specific port as a sort of "secret knock" to unlocking the web interface to the configuration manager.
All you need to really do is:
- Set the static arp table entry to the IP you've chosen.
- Open a TCP connection to that IP on port 1.
- When that fails (you indicated it wasn't expected to work), ignore the failure and connect to port 80 using a web browser control.
In your code the only thing involving the MAC would be setting the ARP table entry, and possibly retrieving the MAC address. It is still a very separate step from the TCP connection to TCP/1 and initiating a web browser connection.
My suggestion would be to use localhost as the default address (127.0.0.1) provided it is not already in use on the device. If not, pick an unused private IP range (10/8, 192.168/16, or 172/8 - IIRC) and assign it an IP in those ranges.
Chris.
.
- References:
- Re: TCP connection to MAC address
- From: Chris Shepherd
- Re: TCP connection to MAC address
- From: Nicolas Noakes
- Re: TCP connection to MAC address
- Prev by Date: assembly search path
- Next by Date: Re: ListViews SelectedIndexChanged Event Options
- Previous by thread: Re: TCP connection to MAC address
- Next by thread: Refresh "parent" form after filling out child popUp form?
- Index(es):
Relevant Pages
|