![]() Each of these structures contains a member called ifa_addr, which contains the Mac address of the interface. This function returns an array of structures containing information about the available network interfaces. That said, checking the MAC address is not a reliable way to verify your peer's identity, anyway, since MAC addresses are easily forged.ĭepending on your needs, you may want to consider better, well-established and reliable means of host authentication such as TLS client and server certificates.To get your Mac address in C, you need to use the function getifaddrs(). It certainly sees the MAC address, and if you have administrative or SNMP access to it you may query it for that information.Ĭ) Some other host on that network segment you can control, and from which you can issue an ARP request for the IP address of the host under investigation. It may also inadvertently expose it, for example by using it as the host part of its IPv6 address or otherwise including it in its layer 3 traffic, but you cannot rely on that, either.ī) The router forwarding packets from that network segment to you. You could simply ask it, but of course it may lie, so that's hardly useful if your goal is to unmask an impostor. Possibilities:Ī) The remote host itself whose MAC address you want to retrieve. In order to get a MAC address from a network segment you are not directly connected to, you need the cooperation of a node which is directly connected to it. This is the underlying reason why ARP does not work across routers. It is stripped when a packet is passed to layer 3 (network layer). ![]() The MAC address is a purely layer 2 (link layer) property.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |