杂(二)

2021-10-29 17:11:22 浏览数 (1)

杂(二)

發佈於 2020-11-12

本篇内容,主要记录日常工作生活中遇到的一些问题思考以及一些常见技巧。

网络相关

NAT 后无法在内网通过外部 IP 访问内部服务

之所以会出现无法在 NAT 的内部网络通过 NAT 服务的外部 IP 地址来访问的情况,是因为如果服务从内部请求,那么经过 DNAT 转换后,将目标 IP 改写成内网 IP,如 192.168.1.3,而发送请求的机器 IP 是 192.168.1.4,数据包被网关 192.168.1.1 顺利的重定向到 192.168.1.3 的服务端口,然后 192.168.1.3 根据请求发送响应给目的 IP 地址,也就是 192.168.1.4,但是,问题出现了,因为 192.168.1.4 请求的地址是外部 IP 假设是 106.54.43.50,所以它等待着 106.54.43.50 的响应,但是由于是局域网,所以路由器不经过封装,直接转发,所以 192.168.1.3 的响应请求被看做是非法的,被丢弃了。这就是问题的所在了,该问题称为 NAT 回流,解决方案在此不再赘述。

Windows 技巧

命令行

查看端口占用
代码语言:javascript复制
## 查看被占用端口对应的 PID
netstat -aon | findstr "{port}"

## 查看指定 PID 的进程
tasklist | findstr "{pid}"

## 强制结束进程
taskkill /T /F /PID {pid} 
查看文件的哈希值
代码语言:javascript复制
certutil -hashfile {文件} [SHA1 | SHA256 | MD5]
查看 WIFI 密码
代码语言:javascript复制
# 查看所有连接过的 wifi 名称
netsh wlan show profile

# 关键内容即为密码
netsh wlan show profile key=clear name="[wifi名]"
路由追踪
代码语言:javascript复制
tracert [域名/IP]
# 通过最多 30 个跃点跟踪
# 到 XiaoQiang [192.168.31.1] 的路由:
#  1     3 ms     1 ms     1 ms  XiaoQiang [192.168.31.1]
#  2     9 ms     7 ms    16 ms  42.103.52.1 
#  3     *        *        *     请求超时 
# ...
# 14    88 ms    67 ms    67 ms  106.54.43.50
# 跟踪完成。

出现全是星号时间的,是该路由器禁止追踪。

测试网络可达性
代码语言:javascript复制
ping [域名/IP]

# 正在 Ping 0xfee1dead.cn [106.54.43.50] 具有 32 字节的数据:
# 来自 106.54.43.50 的回复: 字节=32 时间=50ms TTL=50
# 来自 106.54.43.50 的回复: 字节=32 时间=49ms TTL=50
# 来自 106.54.43.50 的回复: 字节=32 时间=49ms TTL=50
# 来自 106.54.43.50 的回复: 字节=32 时间=49ms TTL=50

# 106.54.43.50 的 Ping 统计信息:
#     数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
# 往返行程的估计时间(以毫秒为单位):
#     最短 = 49ms,最长 = 50ms,平均 = 49ms

# 检测域名/IP 及端口是否可达
telnet [域名/IP] [Port]
域名解析
代码语言:javascript复制
nslookup

# 默认服务器:  UnKnown
# Address:  240e:30a:2e:6800::1

# 默认查询 A 记录
> 0xfee1dead.cn
# 服务器:  UnKnown
# Address:  240e:30a:2e:6800::1

# 非权威应答:
# 名称:    0xfee1dead.cn
# Address:  106.54.43.50

# 设置查询 CNAME 记录
> set type=cname

# 设置查询 TXT 记录
> set type=txt

快捷键

  1. Win Shift s: 截图
  2. Alt Enter: 查看属性
  3. Alt F4: 快速关闭应用
  4. Ctrl Shift Esc: 快速打开任务管理器
  5. Win d: 返回桌面
  6. Win e: 快速打开资源管理器
  7. Win g: 录屏
  8. Win x: 简易开始菜单
  9. Win i: 打开设置
  10. Win p: 多显示器投影设置
  11. Win .: 表情
  12. Shift 鼠标右键: 菜单选项可以直接复制文件路径
  13. F2: 文件、文件夹重命名

快捷命令

  • control: 打开控制面板
  • regedit: 打开注册表
  • wt: Windows Terminal
  • services.msc: 查看服务列表
  • msinfo32: 查看系统信息
  • shell:startup: 开机启动程序目录

cpl 是 Control Panel extension 的缩写。在 C:windowssystem32 下面有一系列 cpl 文件,它们分别对应着控制面板中的项目。 常见 cpl 项目及对应功能:

  • firewall.cpl: Windows 防火墙设置
  • powercfg.cpl: 电源选项
  • sysdm.cpl: 系统属性

Linux 技巧

ssh 免密登录

如果免密登录失败,需检查:

  1. SELinux 是否禁用
  2. ~/.ssh/ 文件夹权限是否为 700
  3. ~/.ssh/authorized_keys 文件权限是否为 600

软件

软件版本号

  1. Alpha: α 是希腊字母的第一个,表示内部测试版,一般不对外部发布,bug 较多,功能不全,一般经由测试人员测试使用
  2. Beta: β 是希腊字母的第二个,表示公开测试版,主要会有”粉丝用户”测试使用,该版本仍然存在很多 bug,但比 alpha 版本稳定一些。经过 bug 修复和功能添加,可又分为 Beta1、Beta2 等版本,直到逐渐稳定下来进入 RC 版本
  3. RC: Release Candidate,发行候选版本,基本不再加入新的功能,主要任务为修复已知 bug。是最终发布成正式版的前一个版本
  4. GA: General Availability,正式发布的版本,官方开始推荐广泛使用,有的软件还会使用例如 Release、Stable、Final 等表示正式发布版本

CDN

刷新 jsDelivr 缓存

jsDelivr 提供的全球 CDN 加速,CDN的分流作用不仅减少了用户的访问延时,也减少的源站的负载。但其缺点也很明显: 当网站更新时,如果 CDN 节点上数据没有及时更新,即便用户再浏览器使用 Ctrl F5 的方式使浏览器端的缓存失效,也会因为 CDN 边缘节点没有同步最新数据而导致用户端未能及时更新。 对于 jsDelivr,缓存刷新的方式也很简单: 将希望刷新缓存的链接 https://cdn.jsdelivr.net/… 替换为 https://purge.jsdelivr.net/… 即可实时刷新。刷新成功后,浏览器会返回缓存刷新成功的 JSON 信息。

0 人点赞