2020年7月30日14点39分

更新:
之前写的方法,获取的是wan口的ip和网关,使用过程发现,以有线上网模式为例,获取wan口网关时,若网关中出现连续的1.1,会获取失败,表明该正则表达式是有问题的。即下面这个grep -oE 之后的内容有问题。

ubus call network.interface.wan status | grep nexthop | grep -oE '([0-9]{1,3}.){3}.[0-9]{1,3}'

检查后发现,在’([0-9]{1,3}.){3}.[0-9]{1,3}'中,“{3}”之后多了一个“.”,去掉之后,1.1可以正确获取。或者按照获取ip的表达式来写,也是一样可以正确获取。

ubus call network.interface.wan status | grep nexthop | grep -oE '([0-9]{1,3}.){3}[0-9]{1,3}'

但带来的另外一个问题是,这种方式会有两个返回值,一个是0.0.0.0,另一个是正常的网关。

0.0.0.0
192.168.60.1

如果用这个方法,就需要对两个返回值再做一次处理。暂时没有想好怎么处理,又重新找了其他方式,如下所示:

route -n |awk 'NR==3{print}'| awk '{ print $2; }'

以查询路由表的形式获取。

route -n

获取到路由表,对结果处理,如下,取第三行,第二列的字符串

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.60.1    0.0.0.0         UG    0      0        0 eth0.2
192.168.60.0    0.0.0.0         255.255.254.0   U     0      0        0 eth0.2
192.168.60.1    0.0.0.0         255.255.255.255 UH    0      0        0 eth0.2
192.168.250.0   0.0.0.0         255.255.255.0   U     0      0        0 br-lan

结果为:

192.168.60.1

到此,就可以获取到wan口网关了,欢迎大家补充。

------------------------------------------------------------分割线--------------------------------------------------------------

2020年5月14日18点20分

输入以下命令后,直接返回ip,在函数中使用时,可以封装popen函数来执行shell命令,获取返回结果。

有线上网wan口ip

ubus call network.interface.wan status | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'

有线上网wan口网关

ubus call network.interface.wan status | grep nexthop | grep -oE '([0-9]{1,3}.){3}.[0-9]{1,3}'

4g上网模式ip

ubus call network.interface.ppp0 status | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'

4g上网模式wan口网关

ubus call network.interface.ppp0 status | grep nexthop | grep -oE '([0-9]{1,3}.){3}.[0-9]{1,3}'

wifi上网模式wan口ip

ubus call network.interface.wwan status | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'

wifi上网模式wan口网关

ubus call network.interface.wwan status | grep nexthop | grep -oE '([0-9]{1,3}.){3}.[0-9]{1,3}'

在C语言中调用以上shell命令,返回值就是对应的IP信息。关于C语言中调用shell命令,可以看另一篇文章:C语言获取linux shell命令返回值。

参考: https://blog.csdn.net/u011007991/article/details/52994101

获取openwrt wan口ip方法相关推荐

  1. 水星路由器wan口ip显示0_水星路由器WAN口获取不到ip地址怎么办?

    [www.xinr41319.cn--IP地址] 有的小伙伴问:家里新买了一个水星无线路由器,按照说明书设置后不能上网:并且在"上网设置"选项处,查看到WAN口没有获取到IP地址. ...

  2. linux获取路由器wan口的ip地址,如何查看wan口ip地址_wan口ip地址怎么查?-192路由网...

    问:如何查看路由器WAN口IP地址? 答:这个问题其实很简单,要查看路由器WAN口的IP地址,只需要登录到路由器的设置页面,找到"WAN口设置"."上网设置"选 ...

  3. 水星路由器wan口ip显示0_路由器wan口ip地址显示0.0.0.0怎么办(2)

    路由器wan口有ip地址但无法上网的解决方法 当遇到设置好路由器WAN口PPPoE拨号后,WAN口状态已经显示获取到IP地址,但是终端设备连接路由器无法上网,如下图; 如果电脑已经是自动获取IP地址, ...

  4. 路由器wan口ip地址_如何在没有浏览器的情况下查找外部或WAN IP地址?

    路由器wan口ip地址 Sometimes I need external IP address of system I am logged on. The general solution is t ...

  5. 水星路由器wan口ip显示0_路由器wan口ip地址显示0.0.0.0怎么办

    如今这个网络时代里面我们最常用来连接网络的设备就是路由器了,现在的社会不管是工作还是生活几乎都离不开网络了,同时我们也要学习一些相关的知识技能,那么你知道路由器wan口ip地址显示0.0.0.0怎么办 ...

  6. (转)路由器WAN口IP显示为10、100、172开头,网络被电信联通等运营商做了NAT转发

    转自:http://www.ekingcn.com/school/pcfaq_1658_202.html 1.表现形式: 路由器拨号获得的公网IP变成了一个以100开头的IP(或者是10.172开头) ...

  7. 3G路由器在lan口ping不通wan口IP,但DMZ主机可用

    以前用WiFi无线路由器,通过lan口的网口IP,比如192.168.1.101,是可以ping通wan口ip的,不管wan口的IP是固定IP,还是拨号获取的IP, 今年项目中用了几个3G路由器,里面 ...

  8. 查看路由器WAN口IP是否为公网ip指南

    查看路由器WAN口IP是否为公网ip指南 ---吴捷 一.公网ip和私网ip ip地址分类中常用的有A\B\C类,每类IP中都规划了一段私网IP,除了这些私网外的IP都是公网IP. 分类 IP地址范围 ...

  9. linux查看wan的ip地址,查看wan口ip地址操作方法

    [导读]如何查看wan口ip地址?图文教程,详细信息请阅读下文! 网友提问:如何查看路由器WAN口IP地址? 优质回答:这个问题其实很简单,要查看路由器WAN口的IP地址,只需要登录到路由器的设置页面 ...

最新文章

  1. 理解和配置 Linux 下的 OOM Killer
  2. 电压放大倍数公式运放_资深工程师教你如何选择运放?
  3. dubbo 自定义路由_高性能可扩展分布式RPC框架Dubbo内核原理揭秘
  4. 云星数据VP楼炜:CMP是混合云、多云管理的必然选择
  5. matlab实现长除法,【网安智库】基于长除法的BCH(15,7)译码算法
  6. NES模拟器[H_NES]
  7. 国产处理器的逆袭机会——RISC-V
  8. python制作彩色字符画
  9. android 9 vxp 闪退,XPrivacyLua限制了权限的应用无法打开
  10. html显示svg图片,HTML5/CSS3系列教程:使用SVG图片
  11. 关于使用群晖系统创建音乐外链的研究
  12. 【Redis】五种数据类型
  13. 6月25日科技资讯 |微信解封快手链接;AWS证实宕机;微软公司内部疑禁用Slack
  14. 百度编辑器上传视频配置
  15. 计算机考试屏蔽范围,哪些屏蔽设备可用于计算机机房的电磁屏蔽?
  16. 常见的Quad-SPI引脚含义
  17. 物联网安全系列 - 非对称加密算法 ECDH
  18. 什么蓝牙耳机好?经销商分享线下热销蓝牙耳机品牌排行
  19. Excel在统计分析中的应用—第八章—假设检验-方差已知下总体均值的双侧检验
  20. php开发如何一键群发几十个群,快手、头条、抖音群发软件,一键操控几十个账号的工具...

热门文章

  1. beeline软件_Beeline软件
  2. 那些年命途多舛的千千静听,归来能否再现当年荣光?
  3. 前端笔记31——在自己的网页中嵌入百度搜索框
  4. 现在买房子,傻瓜才掏钱
  5. 全国计算机等级二级证书foxbase,1999年9月全国计算机等级考试二级FoxBASE笔试试题...
  6. uft自动化测试工具安装步骤_10款好用的自动化测试工具
  7. HC-05蓝牙串口模块的使用说明
  8. 左侧导航栏|左侧选项卡实例
  9. matlab做kmo检验的代码,急求 KMO测度和Bartlett 的球形度检验的计算原公式
  10. 全国教师管理信息系统填报 照片处理,使用 imagemagick