Testing whether the VPN is running?

Dan Stromberg drsalists at gmail.com
Thu Feb 25 18:01:22 EST 2016


On Thu, Feb 18, 2016 at 1:45 AM, Ervin Hegedüs <airween at gmail.com> wrote:
> Hi Adam,
>
> On Thu, Feb 18, 2016 at 09:26:58AM +0000, Adam Funk wrote:
>> I'd like to test (inside a python 3 program) whether the VPN is
>> running or not.  The only thing I can think of so far is to use
>> subprocess to run the 'ifconfig' command, then check its output for
>> 'tun0'.  Is there a better way?
>
> you didn't wrote, which system (OS) you want to use - based on
> the "ifconfig" and "tun0" keywords, possible that's a Linux.
>
> I think that the psutil modul could be better for you for this
> task:
>
> https://pypi.python.org/pypi/psutil/
>
> and see the "Network" section.

psutil is probably clean on Linux.

However, using the subprocess module to run ifconfig -a and check for
tun0 / utun0 should get you compatibility with both Linux and Mac.

Note that if I'm running a Linux in a VMware, and it's hosted on a
Mac, and the Mac has one of my VPN's up, then the Linux doesn't have a
tun0, but it can still see stuff only accessible via that VPN.

For that, it might be better to try ping'ing some host that's behind
the VPN.  In a way, that's a better test anyway.


More information about the Python-list mailing list