When connecting to the Internet, you are assigned either a Public IPv4 address (e.g. 244.229.120.22
) or an IPv6 address (e.g. 2000:a98f:d1bd:9caa:59f2:2a49:fde5:eec1
). You can verify this using https://test-ipv6.com/. However, for those who are not technically inclined, conveying these addresses, or even referencing MAC addresses like 1d:bd:f3:ac:81:ea
, can be error-prone and quickly become complex. Moreover, this method does not provide any historical data, especially from past issues.
In order to access a website such as https://ullrich-cronin.com, your computer interacts with a DNS server to convert the host portion (ullrich-cronin) along with the Top Level Domain (com) of the URL into an IP address (e.g. 57.178.148.46
). Your computer and browser also include their type in all web requests, for instance Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko
Your default gateway is typically an automatically assigned address through DHCP. This is the address your computer forwards all its traffic to be routed onwards. While default gateways for IPv6
are discussed in depth in the article how-to-fix-ipv6-connectivity/, you can verify them on Mac or Linux by using:
netstat -rn -f inet | egrep -i "default|0/1|128.0/1"
0/1 172.18.12.193 UGScg utun3 default 172.22.96.94 UGScg en0 128.0/1 172.18.12.193 UGSc utun3
Note: We are not just looking for the default but also for any VPN that overrides the public v4 address space.
netstat -rn -f inet6 | egrep -i "default|2000::/3"
If you have IPv6 active the above should return at least one route (as per below) via a known interface such as “en0 " on a Mac.
default fe80:e8f7:64b1:4241:36f2%en0 UGcg en0 default fe80::%utun0 UGcIg utun0 default fe80::%utun1 UGcIg utun1 default fe80::%utun2 UGcIg utun2 2000::/3 utun3 USc utun3
Note: We are not just looking for the default but also for any VPN that overrides the public v6 address space.
To get a look at the low level DHCP configuration (Mac/Linux):
ipconfig getpacket en0
... domain_name_server (ip_mult): {189.26.202.176, 168.86.147.74} end (none): ...
So, in the above we are not getting IPv6 DNS servers from the DHCPv4 reply but…
ipconfig getv6packet en0
DHCPv6 REPLY (7) Transaction ID 0x80940b Length 76 Options[4] = { CLIENTID (1) Length 14: DUID LLT HW 1 Time 668691856 Addr 1d:bd:f3:ac:81:ea DNS_SERVERS (23) Length 32: 2606:4700:4700::1111, 2001:4860:4860::8844 DOMAIN_LIST (24) Length 0: Invalid SERVERID (2) Length 10: DUID LL HW 1 Addr b7:77:c8:15:e9:c2 }
When it comes to sending data to your router, you might be using either a wired or wireless (Wi-Fi) medium at the physical and data layer.
No matter which version of OSX/macOS you have - whether it’s 10.15.3
, 11.3.3
, or 12.3.8
- there are various tools available for troubleshooting. However, these manual methods and scripts fail to provide a set of correlated values over time. This is where automated remote troubleshooting becomes invaluable, especially for teams that embrace remote work and Work From Anywhere (WFA).
One of the most useful tools in OSX/macOS is the sudo wdutil info
command, which provides a dump of current wireless settings to the CLI and can also generate specific logs for troubleshooting. Additionally, the sysdiagnose
tool can be used to generate a wide range of logs, although much of it is only relevant to wireless settings, similar to wdutil.
To run it in the background and save logs to /var/tmp/<blah>.tar.gz
, use the command sudo nohup /usr/bin/sysdiagnose -u &
. Alternatively, you can run it interactively with the command sudo /usr/bin/sysdiagnose
, but be cautious of the large file sizes of around 300MB.
Digital work requires reliable connectivity. Whether for low latency or regular data streams, Wi-Fi, DNS, and network issues cause teams to lose time and productivity. Even worse is when support teams waste time trying to recreate and isolate issues! See how PanSift saves time, money, and frustration on all sides with instant remote troubleshooting 🏠🏝🛰.
2 x free macOS agents
No registration, immediate live demo!