免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1445 | 回复: 1
打印 上一主题 下一主题

[好用小程式] 在 router 後面抓 router 的 external IP. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-22 12:19 |只看该作者 |倒序浏览
做 port-forward 的時候, 由於 adsl 的 ip 經常變動, 所以每次都要進入 router 找 ip 出來, 粉不方便.

所以就寫這個小程式, 希望也能幫到大家.

我的用法是: 抓到 ip 後配合 sitelutions 的免費 domain name, 再把 script 丟到 /usr/local/etc/rc.d 裡面, 在 rc.conf 裡面 script_name_enable="YES", 就能每次開機都能 自動把我的 domain name 指到我的 router 了.

抓 external IP:


  1. #!/bin/sh

  2. fetch -q -o - http://www.ipchicken.com/ | perl -pe 's/\n//' | perl -pe 's/.+<b>(.+)<br>.+.+Add to Favorites.+/$1/' | perl -pe 's/\s+([^\s]+)\s+/$1\n/'
复制代码


抓 IP, 改 dns A record :


  1. #!/bin/sh

  2. ## Set the username, password and the account ID.
  3. USER=xxxxxx
  4. PASSWORD=xxxxxx
  5. ACCOUNT_ID=123456
  6. DNS_RECORD=example.domain.name

  7. ## Get external IP from www.ipchicken.com
  8. INET_ADDR=`fetch -q -o - http://www.ipchicken.com/ | perl -pe 's/\n//' | perl -pe 's/.+<b>(.+)<br>.+.+Add to Favorites.+/\$1/' | perl -pe 's/\s+([^\s]+)\s+/\$1/'`

  9. ## Get external IP from www.geobytes.com
  10. #INET_ADDR=`fetch -q -o - http://www.geobytes.com/IpLocator.htm | grep -e "ipaddress" | perl -pe 's/.+<input.+name=\"ipaddress\".+value=\"([\d.]+)\".+/\$1/'`

  11. ## Update DNS record by a request.
  12. echo
  13. logger -t sitelutions.com -s "Updating [$DNS_RECORD] point to $INET_ADDR... `fetch -q -o - https://www.sitelutions.com/dnsup?id=$ACCOUNT_ID\&user=$USER\&pass=$PASSWORD\&ip=$INET_ADDR`."
复制代码

記得 chmod 500, 不然密碼被人看光光.

p.s. 聽說好像有個叫『花生殼』 的也有類似功能, 暫時沒有時間去瞭解.

dyndns.tar.gz

931 Bytes, 下载次数: 19

小程式

论坛徽章:
0
2 [报告]
发表于 2006-12-22 13:36 |只看该作者
恩,使用花生壳很方便,呵呵。只要从他网站上下载程序添加到自启动里就行了,然后开机他就会自动去读取事先配置好的文件,动态获取IP
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP