How would you communicate with a device when you don’t have the IP?
How to Use Your Mac as a Server: Turn your Mac Mini into a server! Yes, that's right, with a little know-how and a little spunk, you can turn an inexpensive Mac Mini computer into a server to provide services over you network. You won't even need the Mac OS X Server, just the Mac OS X Client, so there is no extra software to buy, just the Mac Mini and it's operating system. The first step for Moodle on your Mac server is done! Configure the MySQL database for your Moodle installation. In standard case the database MySQL is installed on the Mac OS X Server but it is not running yet. Please make sure that you start the MySQL database server. Use the graphical way.
You might be in a situation where you don’t have the IP address of a device in a local network, but all you have is records of the MAC or hardware address.
Or your computer is unable to display its IP due to various reasons, and you are getting a “No Valid IP Address” error.
Finding the IP from a known MAC address should be the task of a ReverseARP application, the counterpart of ARP.
But RARP is an obsolete protocol with many disadvantages, so it was quickly replaced by other protocols like BOOTP and DHCP, which deal directly with IP addresses.
In this article, we’ll show you how to find IPs and device vendors using MAC addresses with different methods for free.
Understanding ARP
ARP (Address Resolution Protocol) is the protocol in charge of finding MAC addresses with IPs in local network segments.
It operates with frames on the data link layer.
As you might already know, devices in the data link layer depend on MAC addresses for their communication.
Their frames encapsulate packets that contain IP address information.
A device must know the destination MAC address to communicate locally through media types like Ethernet or Wifi, in layer 2 of the OSI model.
Understanding how ARP works can help you find IPs and MAC addresses quickly.
The following message flow diagram can help you understand the concept:
The local computer sends a ping (ICMP echo request) to a destination IP address (remote computer) within the same segment. Unfortunately, the local computer does not know the MAC address… it only knows the IP address.
The destination hardware address is unknown, so the ICMP echo request is put on hold. The local computer only knows its source/destination IP and its source MAC addresses. ARP uses two types of messages, ARP Request and Reply.
The local computer sends an ARP REQUEST message to find the owner of the IP address in question.
This message is sent to all devices within the same segment or LAN through a broadcast MAC (FF:FF:FF:FF:FF:FF) as the destination.
Because the remote computer is part of the same network segment, it receives the broadcast message sent by the local computer. All other computers in the LAN also receive the broadcast but they know that the destination IP is not theirs, so they discard the packet. Only the remote computer with destination IP, responds to the ARP REQUEST with an ARP REPLY, which contains the target MAC address.
The local computer receives the ARP REPLY with the MAC address. It then resumes the ICMP echo request, and finally, the remote computer responds with an ICMP echo reply.
Finding IPs with ARP
You can use ARP to obtain an IP from a known MAC address.
But first, it is important to update your local ARP table in order to get information from all devices in the network.
Send a ping (ICMP echo reply) to the entire LAN, to get all the MAC entries on the table.
To ping the entire LAN, you can send a broadcast to your network.
Open the Command Prompt in Windows or terminal in macOS and type.
ping 192.168.0.255
My subnet is 192.168.0.0/24 (mask of 255.255.255.0), so the broadcast address is 192.168.0.255 which can be calculated or found with a “Print Route” command in Windows or a “netstat -nr” in macOS. Or can also be obtained with a subnet calculator.
For Windows:
Step 1.
Open the CMD (Command Prompt)
Go to the “Start” menu and select “Run” or press (Windows key + R) to open the Run application
In the “Open” textbox type “cmd” and press “Ok”.
This will open the command-line interface in Windows.
Step 2.
Enter the “arp” command.
The arp command without any additional arguments will give you a list of options that you can use.
Step 3.
Use the arp with additional arguments to find the IP within the same network segment.
With the command “arp -a” you can see the ARP table and its entries recently populated by your computer with the broadcast ping.
Step 4.
Reading the output.
The information displayed in the arp-a is basically the ARP table on your computer.
It shows a list with IP addresses, their corresponding physical address (or MAC), and the type of allocation (dynamic or static).
Let’s say you have the MAC address 60-30-d4-76-b8-c8 (which is a macOS device) and you want to know the IP.
From the results shown above, you can map the MAC address to the IP address in the same line.
The IP Address is 192.168.0.102 (which is in the same network segment) belongs to 60-30-d4-76-b8-c8.
You can forget about those 224.0.0.x and 239.0.0.x addresses, as they are multicast IPs.
For macOS:
Step 1:
Open the Terminal App. go to Applications > Utilities > Terminal or Launchpad > Other > Terminal.
Step 2:
Enter the “arp” command with an “-a” flag.
Once you enter the command “arp -a” you’ll receive a list with all ARP entries to the ARP Table in your computer.
The output will show a line with the IP address followed by the MAC address, the interface, and the allocation type (dynamic/static).
Finding IPs with the DHCP Server
The Dynamic Host Configuration Protocol (DHCP) is the network protocol used by TCP/IP to dynamically allocate IP addresses and other characteristics to devices in a network.
The DHCP works with a client/server mode.
The DHCP server is the device in charge of assigning IP addresses in a network, and the client is usually your computer.
For home networks or LANs, the DHCP Server is typically a router or gateway.
If you have access to the DHCP Server, you can view all relationships with IPs, MACs, interfaces, name of the device, and lease time in your LAN.
Step 1.
Log into the DHCP Server. In this example, the DHCP server is the home gateway.
If you don’t know the IP address of your DHCP Server/ Gateway, you can run an ipconfig (in Windows) or ifconfig (in macOS/Linux).
This particular DHCP Server/Gateway has a web interface.
Step 2.
Enter the IP address on the search bar of the web browser, and input the right credentials.
Step 3.
Find the DHCP Clients List.
In this TP-Link router, the DHCP Server functionality comes as an additional feature.
Go to DHCP > DHCP Clients List. From this list, you can see the mapping between MAC addresses and their assigned IPs.
Using Sniffers
Apple Mac Server
If you couldn’t find the IP in the ARP list or unfortunately don’t have access to the DHCP Server, as a last resort, you can use a sniffer.
Packet sniffers or network analyzers like Nmap (or Zenmap which is the GUI version) are designed for network security.
They can help identify attacks and vulnerabilities in the network.
With Nmap, you can actively scan your entire network and find IPs, ports, protocols, MACs, etc.
If you are trying to find the IP from a known MAC with a sniffer like Nmap, look for the MAC address within the scan results.
How to find the Device and IP with a Sniffer?
Step 1.
Keep records of your network IP address information.
In this case, my network IP is 192.168.0.0/24. If you don’t know it, a quick “ipconfig” in Windows cmd or an “ifconfig” in macOS or Linux terminal can show you the local IP and mask.
If you can’t subnet, go online to a subnet calculator and find your network IP.
Step 2.
Download and open Nmap.
Download Nmap from this official link https://nmap.org/download.html and follow its straightforward installation process.
Step 3.
Open Nmap (or Zenmap) and use the command “sudo nmap -sn (network IP)” to scan the entire network (without port scan).
The command will list machines that respond to the Ping and will include their MAC address along with the vendor.
Don’t forget the “sudo” command.
Without it, you will not see MAC addresses.
Finding out the device vendor from a MAC address
Ok, so now you were able to find out the IP address using “arp -a” command or through the DHCP Server.
But what if you want to know more details about that particular device?
What vendor is it?
Your network segment or LAN might be full of different devices, from computers, firewalls, routers, mobiles, printers, TVs, etc.
And MAC addresses contain key information for knowing more details about each network device.
First, it is essential to understand the format of the MAC address.
Traditional MAC addresses are 48 bits represented in 12-digit hexadecimal numbers (or six octets).
The first half of the six octets represent the Organizational Unique Identifier (OUI) and the other half is the Network Interface Controller (NIC) which is unique for every device in the world.
There is not much we can do about the NIC, other than communicating with it.
But the OUI can give us useful information about the vendor if you didn’t use Nmap, which can also give you the hardware vendor.
A free online OUI lookup tool like Wireshark OUI Lookup can help you with this.
Just enter the MAC address on the OUI search, and the tool will look at the first three octets and correlate with its manufacturing database.
Final Words
Although the RARP (the counterpart of ARP) was specifically designed to find IPs from MAC addresses, it was quickly discontinued because it had many drawbacks.
RARP was quickly replaced by DHCP and BOOTP.
But ARP is still one of the core functions of the IP layer in the TCP/IP protocol stack.
It finds MAC addresses from known IPs, which is most common in today’s communications.
ARP works under the hood to keep a frequently used list of MACs and IPs.
But you can also use it to see the current mappings with the command arp -a.
Aside from ARP, you can also use DHCP to view IP information. DHCP Servers are usually in charge of IP assignments.
If you have access to the DHCP server, go into the DHCP Client list and identify the IP with the MAC address.
Finally, you can use a network sniffer like Nmap, scan your entire network, and find IPs, and MACs.
If you only want to know the vendor, an online OUI lookup like Wireshark can help you find it quickly.
Although Windows 10 leads the market in terms of active users, there are still a lot of Mac owners out there. In fact, Macs still operate a $25 billion venture for Apple.
If you’re a Mac user and a business owner, it’s likely you’ll want to do things with a computer you’re more familiar with. This also includes running a web server to host your site and other online needs, using your Mac.
That said, you’re looking to turn your Mac into a web server, you need to learn a few things. This might be a better option for some instead of relying on cheap web hosting sites. Don’t worry if you don’t know how to use your Mac as a server; we’ve got you covered.
Simply follow the steps below to get ahead of the game:
1. Install and Configure MAMP (Mac, Apache, MySQL, PHP)
This is an open-source program that gives you the ability to host a website using a Mac computer. Download this app to your Mac computer using a stable connection and install it once it’s finished. As soon as it’s done, navigate to the folder called /Applications/MAMP.
The server configuration files, as well as the website you make, will go to this folder. You can now start configuring MAMP by searching for the file called MAMP.app. Double-click on it to get the HTTP server going.
As soon as it appears, you can proceed to click on Preferences. This will show you choices regarding MAMP and MAMP Pro. Unselect these options to ensure that your server keeps running without the need of the application itself.
Open the Ports tab afterward and make sure you choose the default Apache and MySQL ports. This will ensure that your Apache and MySQL servers are at port 80.
2. Sharing with FTP
Go to the System Preferences and select the Sharing tab as soon as you’re done with the initial setup. Click on the option “File Sharing” and select the Options button. Once there, you can click on “Share files and folders using FTP” and press the done button.
The next step is to unselect the option for “Web Sharing” if the system chose it as the default. To control the computer using SSH, select the option “Remote Login”.
3. Port Forwarding
Do you need to access your website from a device other than the original host? If so, you will need to have a router in place. This allows you to forward the right HTTP ports to your current computer.
It’s important to remember that the specific procedures will vary across different routers. The good news is that the basic steps are almost the same. To start this, you need to go to the System Preferences section and go to Network.
As soon as you’re there, take a note of your IP address shown under Status. You can then go to a website called Port Forward. Scroll down and start looking for your router’s model and once found, click on it.
You’ll get taken to the next page where you’ll get the information related to your router’s external IP. Write it down and find Apache in the gigantic list below and select it.
You can now enter your local IP address in the small box that appears on the next page. Follow the instructions to ensure that you finish forwarding the ports on your router.
4. Install a CMS (Content Management System)
Using a CMS helps making, reviewing, editing, and publishing content much easier. There are a lot of free CMS you can use for your website. But the most popular ones out there include:
WordPress
Joomla
Drupal
This guide will cover the steps on how to set up a WordPress CMS. You need to download the WordPress ZIP file from their official website. Unzip the file and transfer the WordPress folder to the /Applications/MAMP/htdocs directory.
Go to the WordPress folder and use a text editor to open the wp-config-sample.php. Replace both the ‘usernamehere’ and ‘yourpasswordhere’ fields with ‘root’. Also, you need to change the ‘putyourdbnamehere’ with your own database’s name.
You might still need to make a database while doing this step. If so, leave it blank for now and come back later to fill it up. As soon as you make a complete configuration of WordPress, the CMS will guide you on how to make your web pages.
5. Make a New Database
To make the database, you need to start by opening the MAMP.app program. Click on “Open Start Page” since it launches MAMP’s start page in your preferred web browser. As soon as it’s open, you should select the “phpMyAdmin” on the toolbar located on top of the page.
Under “Create new database”, you can now type the appropriate name for your database. As soon as you’re done, click on the Create button. Go back to the wp-config-sample.php file and replace ’putyourdbnamehere’ with that database name.
You can then save the file as wp-config.php to finish the entire process.
Using Mac OS Server for Web Hosting
The built-in Apache server has limitations that only exists in the standard Mac OS version. The limitations go away as soon as you opt for the Mac OS Server. This offers a lot of great server features like:
Mail Servers
Web Servers
File Sharing
Calendar and Contacts server
Wiki Servers
There are more features you can avail for your internet server. It’s especially great if you’re wondering, “what does a server do?” when it’s at full capacity. The Mac OS Server is available for purchase at the app store for about $19.99.
Take note, buying the Mac OS Server will proceed to restore all your web sharing services. This adds a lot of value to your Mac for both short and long runs.
Run a Web Server Today
If you’re asking how does a web server fit on Mac, you can use this guide to answer the question. Following these steps will ensure that you get it up and running within a day. But for full-on websites, you need better web hosting services to fit high traffic volumes.
Mac Server Software
Do you need help with a web server for the Apple Mac? If so, you can contact us today and we’ll assist you to get started. Our lines are open and we hope to hear from you soon.