版权

本文首发于soarli博客,转载请注明来源。传送门

前言

上次折腾IPV6大约是在一个月前了,捣鼓了一个晚上,最后也没得到想要的结果(手机流量等支持IPV6的场景下直接访问内网资源,也就是P2P)。
今天突发奇想关了防火墙试一试,顺着这个思路一步步的就成功了!成就感爆棚!

过程

APP

留意到小米Wifi手机端权限比Web端有着更高的权限(功能更全),找到了几个可疑开关,关了之后发现没有效果,于是只好尝试在Web端获取SSH权限操作。

SSH

  1. 登录小米路由管理页面,地址栏 url 里面找到 stok 后面字符串替换掉下面 url 里面的 <STOK>
  2. 复制替换好的 url 到地址栏中然后回车确认

    a. 获取 SSH 权限
http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20nvram%20set%20ssh_en%3D1%3B%20nvram%20commit%3B%20sed%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%5C%22debug%5C%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%3B%20%2Fetc%2Finit.d%2Fdropbear%20start%3B

b. 修改 root 用户密码为 admin

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20echo%20-e%20'admin%5Cnadmin'%20%7C%20passwd%20root%3B

需要修改为其他密码自行替换 url 中 admin 部分。

  1. 复制上面编辑好的 URL 到浏览器地址栏中,然后回车确认,看到以下提示已经成功了。

    好了,已经获取了 SSH 权限,并且修改了 ROOT 用户的登录密码,默认是 admin

输入 root 用户密码后回车确认,看到下图就成功以 root 用户身份登录路由器了。

关闭IPV6防火墙

命令:

ip6tables -F
ip6tables -X
ip6tables -P INPUT ACCEPT
ip6tables -P OUTPUT ACCEPT
ip6tables -P FORWARD ACCEPT

这下外网能Ping通了,但是只要路由器一重启,防火墙还是会自己开启。

  1. /etc/config/firewall 加入:
config includeoption path '/etc/firewall.user'
  1. /etc/firewall.user 加入:
ip6tables -F
ip6tables -X
ip6tables -P INPUT ACCEPT
ip6tables -P OUTPUT ACCEPT
ip6tables -P FORWARD ACCEPT

※第二条中 ip6tables -I forwarding_rule 也能加入 /etc/firewall.user 从而自定义开放端口。

后续

留意到IPV6地址会随着路由器的重启而变化(佬胡说即便不重启也会每天发生变化)。考虑到每一次都进cmd输入ipconfig查看地址太过复杂,干脆整一个能自动获取IPV6地址并自动复制到剪切板的python程序好了,实现如下(需手动安装pyperclip库):

import urllib.request
import subprocess
import socket
import re
import pyperclipchild=subprocess.Popen("ipconfig", shell=True, stdout = subprocess.PIPE)
out=child.communicate();ipv6_pattern='(([a-f0-9]{1,4}:){7}[a-f0-9]{1,4})'
m=re.findall(ipv6_pattern,str(out));
address=m[1][0]
print(address)
print("已复制到剪切板!\n\n按回车键退出...")
pyperclip.copy(address)
input()

参考文献:

https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=4053486&extra=page%3D1%26filter%3Dtypeid%26typeid%3D44

https://xenwayne.top/tech/182.html

https://zhuanlan.zhihu.com/p/260531160

https://blog.csdn.net/qq840166422/article/details/89553077

IPV6公网ip的获取,搞定相关推荐

  1. android公网ip,android 获取公网ip 内网ip

    /** * 获取公网ip * @return */ public String getNetIp() { URL infoUrl = null; InputStream inStream = null ...

  2. 服务器搭建网站公网ip,如何获取公网ip,自己搭建公网ip服务器的方法

    #Go语言初体验 – 获取公网IP小服务.由于免费的动态dns刷新IP很慢, 手动实时获取办公室网络公网IP. #GetIp.go 是服务端程序, 用于返回当前访问的请求的公网IP. demo地址: ...

  3. android获取公网ip地址,获取公网ip

    /** * 获取公网ip * @return */ public String getNetIp() { String ip = ""; InputStream inStream ...

  4. 【网络】Windows电脑端本地ip和公网ip的获取

    cmd调出命令行 查电脑本地ip: ipconfig 查电脑公网ip:下列命令选一 curl ipinfo.io curl cip.cc curl ifconfig.me curl myip.ipip ...

  5. 获取公网ip,获取用户城市地址

    <?phpclass GetIp {public static $api = 'http://ip.taobao.com/service/getIpInfo.php?ip=';public st ...

  6. Android 获取设备公网IP/私网IP地址

    在应用调试过程中,对接的技术人员要求提供一下机顶盒 的外网IP地址,于是打开了盒子上的设置,将IP地址发了过去,对面回复说这是私网IP,要公网IP才可以. 一般情况下,电脑的公网IP地址很好查:打开百 ...

  7. 家里宽带申请公网 IP(二)

    来源:公众号[鱼鹰谈单片机] 作者:鱼鹰Osprey ID   :emOsprey 在之前的<家里宽带搞个服务器,YYDS(一)>笔记中大概介绍了,因为现有的 IPv4 的地址资源枯竭,导 ...

  8. xp计算机关闭139端口,小编搞定xp系统电脑关闭139端口的图文方法

    我们在使用xp系统的过程中,经常需要对xp系统电脑关闭139端口进行设置,可能很多用户都不知道怎么对xp系统电脑关闭139端口进行设置,但当我们遇到对xp系统电脑关闭139端口的设置方法非常简单,只需 ...

  9. 【转载】无公网IP搞定群晖+ZEROTIER ONE实现内网穿透

    前言 最近刚开始折腾群晖,从5.2到6.0再到5.2再到6.1,期间过程曲折复杂,血泪交融,参考了无数文章,重启了无数次机器,拷贝了无数文件,以及损失了无数数据.再次提醒大家,数据一定要做好备份,一定 ...

最新文章

  1. 看懂SqlServer查询计划(转)
  2. JAVA记录-Servlet RequestDispatcher请求转发
  3. 一种求任意多边形内部水平方向似最大矩形的算法
  4. layui动态添加input_layer.prompt添加多个输入框
  5. Android消息处理机制(Handler、Looper、MessageQueue与Message)
  6. 转 carrer 之感
  7. OWASP-ZAP扫描器的使用(攻击)
  8. linux学习第四周作业练习
  9. php7cms框架,GitHub - itsky71/itskycms: 基于ThinkPHP框架的一个CMS系统
  10. 编程范式之栈的抽象操作
  11. 谷歌发布自然问答数据集 Natural Questions
  12. linux apt 安装命令
  13. java 跨年 周计算公式_Java关于周跨年的周数计算
  14. sql:mysql:数据库优化
  15. python抓取豌豆荚app数据信息
  16. UNI-APP_uni-app IOS平台通用链接【Universal Links】配置
  17. 高斯列主元消去法解线性方程组
  18. 【论文阅读】SCRDet:Towards More Robust Detection for Small, Cluttered and Rotated Objects
  19. Python和C语言哪个更容易学,感觉学了C语言有点难,只学过C语言的大学生很迷茫?
  20. mye连接mysql_利用MyEclipse连接数据库并自动生成基于注解或者XML的实体类

热门文章

  1. Android本地网络播放
  2. fatal: unsafe repository Git权限问题修复
  3. C语言 深度剖析数据在内存中的存储
  4. 分库分表 PK NewSQL数据库!看了都说好!
  5. Monitor:单节点监控之Cadvisor
  6. win10饥荒服务器未响应,win10系统玩饥荒联机很卡如何解决
  7. 自动拆箱自动装箱以及String 和基本数据类型封装类生成的对象是否相等
  8. PHP将数据传给JavaScript,如何将变量和数据从PHP传递到JavaScript?
  9. es6模块化机制及CommonJS与ES6模块化规范区别
  10. 少年头条对垒中年腾讯——解局两代互联网公司的商业之战