我的铁通 ADSL 最近几天经常被铁通分配 10.*.*.* 的内网 IP,让我的 MLDonkey 基本上用不了。今天有空顺手写了个脚本自动测试 IP,如果是内网的就断线重拨,直到获得外网 IP 为止
=begin
一个 Ubuntu Linux 下自动拨号获取铁通独立 IP 的脚本
作者:oldrev <oldrev@gmail.com>
授权: Public Domain
=end
require 'socket'
# 获取本机 IP 代码来自:
# http://www.iteye.com/topic/160284
# bits/ioctls.h
SIOCGIFADDR = 0x8915 # get PA address
def get_ip_address(iface)
begin
sock = UDPSocket.new
buf = [iface,""].pack('a16h16')
sock.ioctl(SIOCGIFADDR, buf);
sock.close
buf[20..24]
rescue
nil
end
end
def getip
get_ip_address('ppp0') #通常 ADSL 连接是 ppp0
end
def format_ip ip
if ip != nil then ip.unpack("CCCC").join(".") end
end
def recall
puts "正在断开...."
system 'poff dsl-provider'
sleep 1
puts "正在拨号...."
system 'pon dsl-provider'
end
def needs_recall(ip)
ip == nil || ip[0] <= 10 #内网 ip 通常是 10.*.*.*
end
if $0 == __FILE__ then
ip = getip
puts "当前 IP 地址是: #{format_ip(ip)}"
if not needs_recall(ip) then
puts "不需要重新拨号"
exit()
end
while needs_recall(ip)
recall
sleep 4
ip = getip
puts "新 IP: #{format_ip(ip)}"
end
end
Happy Hacking!
分享到:
- 2008-04-04 23:08
- 浏览 3585
- 评论(0)
- 论坛回复 / 浏览 (0 / 3144)
- 查看更多
相关推荐
Ubuntu22开机自启脚本 jar 包的自动化部署脚本 文件里面有使用方法说明,脚本亲测可用init.shcp kuosheng.service /etc/systemd/system/kuosheng.servicecp kuosheng.sh /usr/local/bin/kuosheng.shchmod 777 /usr/...
网络管理器提供了一个图形界面,允许用户配置网络设置,例如 IP 地址、子网掩码、默认网关和 DNS 服务器的地址等。 Ubuntu 图形界面配置 IP 的应用场景 Ubuntu 图形界面配置 IP 地址有很多应用场景,例如: * ...
这个名为"ubuntu下创建热点的脚本"的资源提供了一个便捷的方法来管理和控制笔记本电脑上的WiFi热点。通过运行两个简单的命令,用户可以快速开启或关闭热点。 脚本`ap.sh`是这个功能的核心。在Ubuntu系统中,它通常...
总的来说,"Ubuntu系统备份用的脚本"是一个实用的工具,它简化了系统管理员和普通用户在Ubuntu上的备份与恢复流程,增强了系统的可维护性和可靠性。对于那些依赖Ubuntu进行工作或研究的用户来说,这样的脚本是必不可...
这个"ubuntu.sh"安装脚本就是为了简化Ubuntu的安装过程而设计的。 首先,我们要理解什么是安装脚本。安装脚本是一种自动化工具,它通常由一系列命令组成,可以执行一系列预定义的任务,例如配置系统环境、安装...
2. 在文件中添加新的配置块,指定一个新的逻辑接口`eth0:1`,并为其配置静态IP地址。例如: ```plaintext auto eth0:1 iface eth0:1 inet static address ***.***.*.* netmask ***.***.***.* gateway ***.***.*.***...
ubuntu自动安装nginx php脚本ubuntu自动安装nginx php脚本
使用Ubuntu的时候,有时需要修改IP地址和MAC,而用命令行的形式会敲很多东西,用图形界面的方式又找不到什么地方能修改MAC,所以我写了这个小软件,可修改ubuntu的IP地址和MAC
该一键安装脚本旨在帮助用户快速部署 Docker 环境于 Ubuntu 操作系统中,简化安装步骤,节省时间。通过此脚本,用户可以快速搭建 Docker 环境,轻松实现容器化部署,提高开发和部署效率。 适用人群: 熟悉 Ubuntu ...
Ubuntu是一个以Debian为底层开发的开源Linux操作系统发行版,它以用户友好、稳定可靠而著称。固定IP地址(也称静态IP地址)是网络中分配给设备的一个特定地址,它不会在每次设备连接到网络时改变。这个地址允许设备...
本文将详细介绍 Ubuntu 9.04 双网卡双 IP 配置方法,解决了双线情况下只能 ping 通一个网卡的问题。 在 Ubuntu 9.04 系统中,配置双网卡双 IP 需要解决两个问题:一是配置两个网卡的 IP 地址和子网掩码,二是配置...
Ubuntu操作系统中设置静态IP是网络管理中的一项重要内容。静态IP是指在网络中分配给设备的固定IP地址,可以确保设备在网络中的唯一性和稳定性。今天,我们将详细介绍如何在Ubuntu中设置静态IP。 首先,让我们了解...
ubuntu下安装xen的脚本 放在这里备份
ubuntu tmux 自动执行shell脚本,可创建多个session,多个window。多个panes, 平铺所有的panes,对指定session下指定window的指定panes发送指定的多条命令,后台创建! 稍微修改可做成自己的自启动脚本,
在Ubuntu 18.04操作系统中,配置固定IP地址是通过使用Netplan工具来实现的,这是一个用于配置网络接口的统一接口。Netplan在16.04版本之后被引入,取代了传统的ifupdown工具,使得网络配置更加简洁和灵活。以下是...
MySQL 5.7是该数据库管理系统的一个稳定版本,提供了许多性能改进和新特性。以下是关于使用脚本在Ubuntu 16.04上自动安装MySQL 5.7的详细步骤和相关知识点。 首先,你需要确保你的系统是最新的。运行以下命令更新...
nameserver xxx.xxx.xxx.xxx # 添加第一个DNS服务器IP nameserver xxx.xxx.xxx.xxx # 如果有多个,添加第二个DNS服务器IP ``` 虽然这一步可能在重启后被覆盖,但在某些情况下,这有助于立即生效。 最后,我们通过...
ubuntu更改IP的shell代码,自己写的,比较拙,请指正
ubuntu自动挂载硬盘,u盘、sd卡脚本,后台自动执行本脚本,存储设备将自动挂载
3. **集成adb push到脚本**: 在Ubuntu脚本中集成adb push,我们可以创建一个函数或者独立脚本,接受源文件路径和目标设备路径作为参数,然后调用adb push命令。这样可以避免每次手动输入完整的命令,减少错误发生的...