如何用正则表达式匹配私网地址?

Bash

1 前言

一个问题,一篇文章,一出故事。
笔者今天遇到开发组同事因为匹配私网地址的正则表达式写错而导致程序出错的问题,于是笔者借此机会整理关于私网地址以及使用正则表达式匹配私网地址的知识。
IP地址私网地址分类如下,
A类地址:10.0.0.0/8(10.0.0.0 ~ 10.255.255.255)
B类地址:172.16.0.0/12(172.16.0.0 ~ 172.31.255.255)
C类地址:192.168.0.0/16(192.168.0.0 ~ 192.168.255.255)

2 最佳实践

grep -E '^(192.168|10.|172.1[6789].|172.2[0-9].|172.3[01].)' /var/log/nginx/access.log

需要注意的是,
– 由于正则表达式的通用性,以上使用Shell演示此正则表达式。
– 以上从Nginx Access日志中搜索私网地址开头IP地址的日志

没有评论

发表回复

Bash
如何熟悉Base Shell的变量的间接引用?

1 前言 一个问题,一篇文章,一出故事。 笔者希望以一个变量名称去引用另一个变量,于是整理此文。 2 …

Bash
如何实现文件夹路径转纯数字符串?

1 前言 一个问题,一篇文章,一出故事。 由于由于需要设置某目录的配额,配额要求为每个目录指定一个项 …

Bash
如何统计Linux打开文件前10进程?

1 前言 一个问题,一篇文章,一出故事。 笔者生产环境有台服务最近压力比较大,打开的文件数量不断地往 …