Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import time
- import socket
- import fcntl
- import struct
- import optparse
- def get_ip_address(ifname):
- s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
- return socket.inet_ntoa(fcntl.ioctl(
- s.fileno(),
- 0x8915,
- struct.pack('256s', ifname[:15])
- )[20:24])
- def ciclo(interface,interface_down,time_check):
- ip=get_ip_address(interface)
- my_ip=ip
- start = raw_input("Press enter when you are connect to vpn service\n")
- try:
- while ip == my_ip:
- ip = get_ip_address(interface)
- time.sleep(time_check)
- except IOError:
- os.system("ifconfig %s down" % interface_down)
- print "You're vpn failed, %s go down" % interface_down
- os.system("ifconfig %s down" % interface_down)
- def main():
- parser=optparse.OptionParser("python %prog "+ "-i <interface> -d <interface down> -t <time>\nRoot user to work!")
- parser.add_option("-i", dest="interface", type="string", help="interface (eth*,tun*,wlan* (tun* for openvpn")
- parser.add_option("-t", dest="time",type="int",help="time to check (default=3)")
- parser.add_option("-d", dest="interface_down", type="string",help="interface must go down if vpn fail (eth*,wlan*)")
- (options,args)=parser.parse_args()
- interface=options.interface
- time_check=options.time
- interface_down=options.interface_down
- if time_check==None:
- time=3
- if interface==None:
- print "Must specify interface\n"
- exit(0)
- if interface_down==None:
- print "Must specify interface that must go down if vpn fail\n"
- exit(0)
- ciclo(interface,interface_down,time_check)
- if __name__=="__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement