I've just started using a VPN service because I'm doing work from a hotel room for an extended period of time with an iMac connected to the hotel's open wifi. Hotel has a web log-in with password, but no encryption.

I installed a personal VPN service and it appears to be working properly, but when I turn off the VPN the internet connection continues to function without any indication.

UPDATE: My VPN service settings are set to "Start on Boot up", and I have enabled "Kill switch" option that disables internet traffic if the VPN goes down. It also includes by default DNS leak protection and IPv6 leak protection by routing all IPv6 traffic through its servers, and stopping it there. Also, my VPN IP address is different every time I reconnect to the VPN. And I've confirmed that my public IP address is different than my IP address when VPN is enabled.

However, my question is whether there is a straight-forward way for me to confirm that all of my internet traffic is going through the VPN, when the VPN is enabled? This may seem like a silly question, but if I can't tell the difference between VPN or NO VPN, then what's to say that some data isn't bypassing VPN encryption and going straight onto the unencrypted open wifi?

  • If you have the expertise, the best method is to observe the traffic. Wireshark is probably your best option. Next would be tcpdump.
    – phbits
    Aug 21, 2020 at 23:53
  • Nomrally, there is a icon which shows u connected with vpn or not Aug 22, 2020 at 14:15

2 Answers 2


... is a straight-forward way for me to confirm that all of my internet traffic is going through the VPN, when the VPN is enabled?

There are basically two questions here

  • is the VPN basically working, i.e. is any traffic going through the VPN
  • is the VPN properly setup, so that all traffic is going through the VPN

The first one is easy to answer, just check your public visible IP address.

The second one is harder to check. You might continuously monitor all your traffic, you might check your routing setup etc - but these are no easy options for most. But you can more or less easily check for the most common problems, i.e.

  • is IPv6 covered by the VPN too or if this traffic is going without VPN
  • which DNS servers are used, i.e. a rouge DNS might simply return the wrong IP address for a domain in order to control your access

There are several tools and guides on how to do this. A good explanation with links for tools is for example at PureVPN but many other VPN providers offer similar tools.

  • Thank you for the answer, I checked my VPN service and it says it does not use IPv6, but instead blocks all IPv6 traffic by routing all IPv6 traffic to its servers, and IPv6 does not leave it servers. Also, it forces the use of DNS on its secure servers only.
    – Devil07
    Aug 22, 2020 at 11:27
  • @Devil07: this looks like a sane configuration then. Aug 22, 2020 at 19:05

Open your browser and navigate to the link below and check the IP returned before and after enabling your VPN software. You should see your VPN provider's IP when VPN is enabled to route your stuff via VPN provider's server. Otherwise, you'd see your hotel wifi provider's IP.



As you know, the above check verifies if your browser is going through the VPN tunnel or not. So if all you care about is your browser traffic, this check is good enough. However, if you want to absolutely make sure all your traffic is routed through your VPN server, you can check your kernel routing table to make sure it is setup correctly by your VPN software which I am pretty sure is done correctly.

The following list is part of my kernel routing table. As you can see, my VPN inserted routes to override the 'default' route which is on my physical interface (i.e. en1) to VPN tunnel interface (i.e. utun2). As long as you see similar things on your machine you can be sure all your stuff is going through your VPN tunnel. I do not know what OS you are on but the following check can be done on MacOS or Linux and I assume Windows has similar tools. Open a command shell and do the following.

arul@lion$ ip route list via dev utun2
default via dev en1 via dev utun2

You can also do the following additional check that tells you how your connection will be routed. In this example, it tells me it would use my utun2 device to get to a public IP i.e.

arul@lion$ ip route get via dev utun2  src

Finally, you want to absolutely make sure you are only using VPN tunnel, you can delete the default route which I am pretty sure is how your VPN software implemented their 'Kill switch'.

  • This does only a rudimentary check if the VPN is basically working but does not verify that all relevant traffic is going through the VPN. Specifically it only checks the IPv4 address of the VPN endpoint and does not account for DNS leaks or IPv6 leaks. It also does not check what happens on VPN problems, i..e. if it silently falls back to sending traffic without VPN. Aug 22, 2020 at 4:11
  • Thank you for your contribution Arul.
    – Devil07
    Aug 22, 2020 at 11:28
  • 1
    The answer is now better but still incomplete. You ignore completely that IPv6 exists, i.e. you only check external IPv4 address and only look at the IPv4 routing. Given that many systems today have IPv6 and that major sites are accessible by IPv6 and that IPv6 gets preference before IPv4 if both are available, this is a serious omission. Aug 22, 2020 at 19:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .