您的位置:首页 > 运维架构 > Apache

ubuntu从apache日志文件查找出ip

2016-01-18 03:25 579 查看
ubuntu从apache日志文件查找出ip
  首先切换到apache2目录cd    /var/log/apache2   [apache2日志默认此目录]
1.首先从日志文件找出所有访问者ip
grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" access.log >> ip.txt


2.将ip去重
sort ip.txt |uniq -u >>uniqueIP.txt


好了,现在都是唯一的ip了,全都在  /var/log/apache2/uniqueIP.txt

补充:

正则表达式匹配IP地址:

使用下面的正则表达式来匹配IPV4的地址,先来匹配从0.0.0.0到999.999.999.999的模式。

“([0-9]{1,3}[\.]){3}[0-9]{1,3}”

示例:使用grep命令来查找匹配特定的地址

$ grep -E -o “([0-9]{1,3}[\.]){3}[0-9]{1,3}” filename

[root@devops ~]# echo 000.333.222.444 >test1
[root@devops ~]#

[root@devops ~]# grep -E -o “([0-9]{1,3}[\.]){3}[0-9]{1,3}” test1

000.333.222.444

上面的正则表达只是简单的匹配了特定的类似于ip地址的传,但它不能匹配真正的IPv4地址。可以通过下面的正则表达式来匹配.

“(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)”

通过grep命令匹配文件中的IPv4地址

[root@devops ~]# grep -E -o “(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)”
test1
[root@devops ~]# echo 192.168.1.234 > test1
[root@devops ~]# grep -E -o “(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)”
test1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  运维 ubuntu ip