我有一个ip地址列表。我想知道他们中的任何一个是保留地址(参考:http://en.wikipedia.org/wiki/Reserved_IP_addresses)。对于我的作品,我使用的是awk,所以我想知道是否有一些预制的shell脚本或类似的东西可以帮助我确定这些地址。ip保留地址检查功能
1
A
回答
0
您是否知道unix grep
?
您可以在其他文件中grep搜索存储在文件中的目标字符串列表。
fgrep -f reservedList.txt yourListOfIpsSavedToAfile
将在yourList *中打印任何与reservedList中的任何字匹配的行。
如果你这样做是一个shell脚本里面,那么你可以让你的动作条件
if fgrep -f reservedList.txt yourList > /dev/null 2>&1 ; then
echo "found items in reserved List"
else
echo "no items found in reserved List"
fi
您可能需要使用grep -F reservedList ....
。使用上面的第一个例子来看看这个工作是否正常,如果不是请参阅man grep
来查看在你的OS/grep版本中使用哪些确切的参数。
如果你确实需要在awk中这样做,你将基本上在awk中重新创建这个功能。
我希望这会有所帮助。
0
如果你给你的好旧的IPv4的地址列表,如线输入线到脚本
while IFS=. read A B C D
do ADDR=`printf %03d.%03d.%03d.%03d $A $B $C $D`
[[ 000.255.255.255 < $ADDR && $ADDR < 010.000.000.000 ]] && continue
[[ 010.255.255.255 < $ADDR && $ADDR < 100.064.000.000 ]] && continue
[[ 100.127.255.255 < $ADDR && $ADDR < 127.000.000.000 ]] && continue
[[ 127.255.255.255 < $ADDR && $ADDR < 169.254.000.000 ]] && continue
[[ 169.254.255.255 < $ADDR && $ADDR < 172.016.000.000 ]] && continue
[[ 172.031.255.255 < $ADDR && $ADDR < 192.000.000.000 ]] && continue
[[ 192.000.000.007 < $ADDR && $ADDR < 192.000.002.000 ]] && continue
[[ 192.000.002.255 < $ADDR && $ADDR < 192.088.099.000 ]] && continue
[[ 192.088.099.255 < $ADDR && $ADDR < 192.168.000.000 ]] && continue
[[ 192.168.255.255 < $ADDR && $ADDR < 198.018.000.000 ]] && continue
[[ 198.019.255.255 < $ADDR && $ADDR < 198.051.100.000 ]] && continue
[[ 198.051.100.255 < $ADDR && $ADDR < 203.000.113.000 ]] && continue
[[ 203.000.113.255 < $ADDR && $ADDR < 224.000.000.000 ]] && continue
echo $A.$B.$C.$D is reserved
done
,它会输出任何保留的地址。
相关问题
- 1. 检查IP地址
- 2. Azure的保留IP地址不一致
- 3. BASH IP地址检查
- 4. 检查IP地址范围
- 5. 检查真实IP IP地址的NodeJS
- 6. 一个保留的IP地址:“所有0的网络地址”?
- 7. IP地址:非保留地址的可能性不在100以外。*?
- 8. PHP检查IP地址是否在IP地址范围
- 9. 静态内部IP地址和VNet和保留IP
- 10. ip地址检索
- 11. 功能得到用户的IP地址
- 12. 获取IP地址功能不正常
- 13. IP地址匹配过滤功能
- 14. 用Qt检查IP活动地址
- 15. 检查您自己的IP地址
- 16. ip地址的gethostname空检查
- 17. 检查IP地址表 - MySQL的PHP
- 18. Python3检查IP地址是否全球
- 19. 如何检查子域的IP地址
- 20. 检查IP地址类型,IPv4或IPv6
- 21. IP地址检查了错误
- 22. 检查IP地址并下载数据
- 23. 查找IP地址
- 24. 如何保持复选框保留后检查后功能
- 25. SQL查询中的DB2 400客户端IP地址功能
- 26. 保留的内存地址?
- 27. 检索的IP地址与RKA IP地址的中间件
- 28. MSDeploy在目标位置保留站点名称和IP地址
- 29. 在GCE中重命名保留的IP地址
- 30. 如何使用Powershell验证保留的IP地址
此外,GlennJackman在http://stackoverflow.com/questions/7741700/evaluating-command-with-awk给你的答案有什么问题?你一直在问同样的问题。精氨酸!祝你好运。 – shellter
如果我有所有保留地址的列表,您的解决方案可能会很好。但我不知道。保留的地址数量很多,其格式显示在我发布的维基百科页面上。还有一些人的CIDR前缀不是8的倍数,所以为它们创建一个正则表达式并不是那么容易的 – markusian
删除了以前的评论,因为它是在很早的时候写的,因为我没有时间重新编写它,阅读wikip上的地址列表(我错了;-()。无论如何,邮件中的第一句话是'我有一个ip地址列表',直到现在的reg exprs都没有提及。你只会解决你的问题当你可以花时间写清楚你正在努力完成什么,你想要/需要做什么,以及为什么你认为你需要这样做(见下) – shellter