ip adresses

hey i was given a project and decided to do something in the networking field, which is what im interested in... so i have decided to make a simple windows application to retrieve an ip address and possibly shut it down remotely... i need help with choosing the best ide and the best compiler to use with it, i currently use code:blocks, and some guidance in the steps i need to take and what kinda books should i look into and what headers are available for ip manipulation, i try configuring boost asio with code:blocks but its super difficult, no where online explains the configuration simply or best recommended.. for now i more interested in retrieving the ip addresses.. i have approximately 2 months to do this.. that should be enough time i hope. thanks in advance..
Last edited on
What does:
Retrieve an IP address mean? DNS lookup?
Shut it down remotely? Shut the device down? How do you expect to do this?

You need some networking knowledge before you continue any further.
I recommended reading Computer Networking: A Top-Down Approach by Kurose and Ross
A really good first networking application is a console one-way messenger.

Have one window block at a std::cin>>. When it get's a message, pack that and send it to another pc. That PC is running a client which waits for the ethernet packet, decodes the message and displays it on the screen.

When you say "retrieve IP", take a look at your ARP cache. This is a map between MAC addresses and IPs.

If you're using Windows, then try going raw and use winsock2 to send your messages. Another option is to use something higher-level. SFML has some easy stuff to use.

Packing network protocols is actually pretty fun. There are several layers of headers before you get to your data and this is a perfect place to learn OOP. There are your ethernet headers, IP headers, UDP headers, custom headers, then data. Once you have a connection established, watch your network messages with a tool like WireShark to see exactly what is in there.
Topic archived. No new replies allowed.