写点什么

ARTS-WEEK4

用户头像
一周思进
关注
发布于: 2020 年 06 月 21 日
ARTS-WEEK4

Algorithm

LeetCode-13 罗马数字转整数


class Solution:    '''    罗马数字正常情况是小的数字在大的数字右边,所以如果出现小的数字在大的数字前面,就是要减去这个小的数字    '''    def romanToInt(self, s: str) -> int:        d = {'I':1, 'V':5, 'X':10, 'L':50, 'C':100, 'D':500, 'M':1000}        sum = 0        for i in range(len(s)-1):            if d[s[i]] < d[s[i+1]]:                sum -= d[s[i]]            else:                sum += d[s[i]]
sum += d[s[len(s) - 1]] return sum
复制代码


Review

Is 4G DDNS Possible?


substantial: 本质的

residential: 住所的

consistent: 一致的

integral:构成整体所必须的

rural:乡村的

typically: 通常的

periodically: 周期性的

illustration: 插图


本文说明了 DDNS 功能对于 4G 网络和家用网络的区别。


先讲解了 DDNS 工作原理,首先了解了家用网络的外部 IP 和实际的外网访问是一对一的关系,访问这个外部 IP 即明确是与拥有这个外部 IP 的实体进行通信,不过这个外部 IP 除非是向运营商申请的静态 IP,否则都是动态申请随时可能变动的,如果你想一直与固定端通信,通过 IP 指定则非常麻烦,你需要清楚知道对端当前的 IP 是说明。


而 DDNS 客户端通过周期性检测外部 IP,并将外部 IP 和用户申请的域名地址一同上报给 DNS 主机,用户通过访问域名地址来访问设备,这样无论外部 IP 怎么变更,域名都会解析成实际的 IP 地址。


4G 网络和家用网络的不同在于 4G 网络所拥有的 IP 都是私有 IP, 全部在基站这个实际的外部 IP 下面,不像家用网络的外部 IP 和 实际外网访问存在一对一的关系。


DDNS 上报外部 IP 可能上报的是基站这个外部 IP,但访问这个 IP, 基站是没法知道是要访问这个基站下面的哪台设备,而如果是上传的 4G 设备所拥有的私有 IP,则更加不能访问到了。


目前看来 4G 网络下无法直接使用 DDNS 服务。


Tip

在进行 brew install 安装软件的时候,提示

Updating Homebrew…

会卡很久很久


通过搜索了解有如下几种解决方法:

1、直接按 ctrl + c,停止更新,接着继续进行安装操作

2、关闭每次执行 brew 命令的自动更新,在 ~/.bash_profile 文件增加如下语句


export HOMEBREW_NO_AUTO_UPDATE=true
复制代码

3、替换 brew 源


Share

UPnP SUBSCRIBE 漏洞 CVE-2020-12695 处理


UPnP 功能可用于局域网内的设备彼此发现和交互,还可以向路由器申请端口映射,便于不同网之间的设备访问。


近期爆出的 UPnP CVE-2020-12695 漏洞描攻击者可以滥用 UPnP SUBSCRIBE 功能将流量发送到任意目的地。


目前提供的处理意见:

1、禁用 UPnP 功能或者默认关闭 UPnP

2、禁用 UPnP SUBSCRIBE 功能

3、如果要用 UPnP SUBSCRIBE 功能,限制在可信任的局域网内


相关漏洞说明都会提示可通过 CallStranger 工具来检测设备是否受此漏洞影响。


如果你的系统有 curl 命令工具,那可以直接通过如下命令方式来测试(curl 工具真是太强大了~)


curl -v http://192.168.1.100:49152  -H "CALLBACK: <http://192.168.1.101:80>" -H "NT: upnp:event" -H "TIMEOUT: Second-1800" -X SUBSCRIBE
复制代码

如果你的 UPnP 功能是开启的,也没做过裁剪,那基本是受影响的,通过上述命令测试,加加打印可以定位到 SUBSCRIBE 回调处理由 UpnpRegisterRootDevice 接口函数注册的 TvDeviceCallbackEventHandler 函数里处理。


如果想禁用 SUBSCRIBE 功能,则忽略对 UPNP_EVENT_SUBSCRIPTION_REQUEST 处理即可。


发布于: 2020 年 06 月 21 日阅读数: 50
用户头像

一周思进

关注

每周学习总结,相信可以走的更远 2017.12.12 加入

嵌入式开发工程师 个人公众号:一周思进

评论

发布
暂无评论
ARTS-WEEK4