I want to verify that my network monitoring program on Mac can handle network interfaces that come and go. For example, the user could attach a Wifi adapter via Thunderbolt, and my program must notice that.
So, I set up Python server to run in in localhost:8000. Running wget http://localhost:8000
on the command line gives me a valid response from the Python server. Direct communication with the localhost succeeds. So far so good.
Next, I wrote a Python script, setting up a software network interface, tunneling traffic from 10.0.2.1 to localhost. However, the tunnel is obviously not correctly set up because the script hangs on the wget
part:
import os
try:
os.system("ifconfig gif6 create")
os.system("ifconfig gif6 inet 10.0.2.1 127.0.0.1 up")
os.system("wget http://10.0.2.1:8000")
finally:
os.system("ifconfig gif6 destroy")
What am I doing wrong when trying to set up the 10.0.2.1 <-> 127.0.0.1 tunnel? There is probably something wrong in the ifconfig commands but I'm unable to figure it out.