导航:首页 > 净水问答 > shell过滤日志文件ip

shell过滤日志文件ip

发布时间:2021-02-09 17:56:59

1. 怎么用Linux 正则表达式过滤出IP地址

1、你可以通过AWK工具的正则表达式规则过滤 2、你可以能SED工具的正则表达式规则替换 3、你也可以用perl语言来过滤你的日志文件 方法很多,看你的选择

2. 如何用shell取出如下字符中的ip地址

[seesea@UC ~]$ cat b.txt
Failed password for adm from 58.248.38.108 port 21918 ssh2
Failed password for dds from 58.248.32.108 port 21918 ssh2
Failed password for invalid user student from 58.248.38.108 port 21918 ssh2
Failed password for invalid user stnt from 58.248.38.18 port 21918 ssh2
[seesea@UC ~]$ grep -oP '\d+\.\d\+\.\d+\.\d+' b.txt
[seesea@UC ~]$ grep -oP '\d+\.\d+\.\d+\.\d+' b.txt
58.248.38.108
58.248.32.108
58.248.38.108
58.248.38.18

3. linux 分析apache日志,找的IP 屏蔽IP

|#!内/bin/bash
DATE=
while true
do
cat /var/log/virtualmin/all.log|容grep $DATE'|grep '/customer/account/createpost/'|cut -d ' ' -f 1 |sort |uniq -c | sort -nr |head -n 10|awk '{print $2}'

sleep 60
done

4. linuxshell代码,将文本文件a中的内容ip=不固定的ip地址替换成ip=本机ip,其

ifconfig eth0 | grep "inet addr" | awk '{print $2}' | awk -F: '{print $2}'
上面是获取eth0的IP地址

5. 用Linux Shell 脚本过滤IP地址192.168.0.100/29中的100和29,应该怎么写语句

过滤出来是几个意思。
得到
192.168.0.100/29 还是
192.168.0.
还是
所有以100/29结尾的ip

6. shell命令。日志中有若干个不同的IP地址,如何将这N个不同的IP地址,修改为127.0.0.1. seed命令如何写

##测试文抄件,里面有袭4条IP和其他数据
catb.sh
123.213.123.12312312312312312312312dsasdw
213.23.213.123rwerwer24osdjfdgds
42.324.123.123fsdfasdasda
123.231.54.23dfsfsdfdsf
##执行指令
sed-i's/[0-9]*.[0-9]*.[0-9]*.[0-9]*/127.0.0.1/g'b.sh
#结果验证
catb.sh
127.0.0.112312312312312312312dsasdw
127.0.0.1rwerwer24osdjfdgds
127.0.0.1fsdfasdasda
127.0.0.1dfsfsdfdsf

7. shell脚本,实现脚本ip地址变换,每次输出不同的ip地址。

先看效果:

[root@mailtmp]#./runplayload.shiplist.txt-s192.168.33.34-40
Nosuchip【192.168.33.35】in【iplist.txt】
1--192.168.33.34
2--192.168.33.36
3--192.168.33.37
4--192.168.33.38
5--192.168.33.39
6--192.168.33.40
[root@mailtmp]#./runplayload.shiplist.txt-s192.168.33.34-192.168.33.40
Nosuchip【192.168.33.35】in【iplist.txt】
1--192.168.33.34
2--192.168.33.36
3--192.168.33.37
4--192.168.33.38
5--192.168.33.39
6--192.168.33.40
[root@mailtmp]#


看一下.txt文本格式

[root@mailtmp]#catiplist.txt
192.168.33.34
192.168.33.36-192.168.33.40
192.168.33.200
192.168.33.204-210
192.168.33.231


脚本正文:

#!/bin/bash
#------------------------------------------
#Copyritht(C),[email protected]
#脚本名:
#脚本位置:
#脚本用途:
#脚本修改历史:
#<作者><日期><版本><描述>
#老耿2015/07/131.0创建
#版权:GPL
#-------------------------------------------
./root/.bash_profile
#定义ip个数
r=6
#传参判断
echo$3|grep-q"[0-9]-[0-9]";stat=$?#这里在逻辑上应该先判断存不存在$3
if[$#-ne3-o"$2"!="-s"-o${stat}-ne0];then
if[$stat-ne0];then
echo"脚本使用说明:
COMMAND文件名-sip范围
例:sh./run_playload.shiplist.txt-s192.168.33.20-50
或sh./run_playload.shiplist.txt-s192.168.33.20-192.168.33.50"
exit
fi
fi
if[!-f$1];then
echo"文件【$1】不存在!"
exit
fi
#iplist.txt文件格式转换
iplist=`cat$1|awk-F'[-.]''{if($0~/-/){sub(/-.*$/,"",$4);for(i=$4;i<=$NF;i++){print$1"."$2"."$3"."i}}elseprint$0}'`
#xx.xx.xxipv4前三个字节
ip1="`echo$3|sed-r's/.[0-9]+-.*$//'`"
#起始ip最后一个字节
ip2="`echo$3|awk-F'.''{sub(/-.*$/,"",$4);print$4}'`"
#结束ip最后一个字节
ip3="`echo$3|awk-F'[-.]''{print$NF}'`"
#如果起始ip大于结束ip,则两个互换
if(($ip2>$ip3));then
ip_tmp=$ip2
ip2=$ip3
ip3=$ip_tmp
fi
#合并完整的ip,存在ip()里
ip=()
foriin`seq${ip2}${ip3}`
do
ipp="${ip1}.${i}"
echo"${iplist}"|grep-wq"${ipp}"
if[$?-ne0];then
echo"Nosuchip【${ipp}】in【$1】"
else
ip=(${ip[*]}${ipp})
fi
done
#判断ip()不为空的情况
if[-n"${ip[*]}"];then
#定义ip个数
#r=6
#判断ip取值个数,分两种情况处理
if((${r}<=${#ip[@]}));then
foriin`seq${r}`
do
letj=$i-1
echo"${i}--${ip[j]}"
done
else
for((i=0;i<${#ip[@]};i++))
do
letj=$i+1
echo"${j}--${ip[i]}"
done
echo"WARNING:受范围限制,未能取到完整的${r}个ip!"
fi
fi

8. 求救用SHELL 实现,access.log日志中将IP为10.1.0.10的信息取出存在到save.log文件中,并加入定时任务.

1:“IP为10.1.0.10的信息” 采用查找关键字"10.1.0.10”的方式,即:grep "10.1.0.10" $HOME/access.log >> $HOME/save.log ;文件路径换成你自己的
2:将这句话加内入定时任务:编辑容crontab,执行命令:crontab -e,编辑时操作参考vi编辑器,追加一行:* * * * * grep "10.1.0.10" $HOME/access.log >> $HOME/save.log,其中前几位周期控制含义参考crontab的使用。这句话表示每隔1分钟都运行一次.

9. linux shell中字符串匹配截取IP

你这个可用多个方法,最简单的可用grep

s="Connections: authenticated: 10.0.115.172::56498, as admin (Full access)"
echo $s | grep -E -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+::[0-9]+"
结果
10.0.115.172::56498
这个正则相关的学习,对于学习Linux来说也是非常重专要属的,刘老师的新书《linux就该这么学》,关于这块讲解得非常透彻,你可以翻阅查看一下。

10. 在shell中如何判断字符串是否为有效的IP地址

|CheckIPAddr()
{
echo $1| "^[0-9]\{1,3\}\.\([0-9]\{1,3\}\.\)\{2\}[0-9]\{1,3\}$" > /dev/null;
#IP地址必须为全数字
if [ $? -ne 0 ]
then
return 1
fi
ipaddr=$1
a=`echo $ipaddr|awk -F . '{print $1}'` #以"."分隔,取出每个列的值
b=`echo $ipaddr|awk -F . '{print $2}'`
c=`echo $ipaddr|awk -F . '{print $3}'`
d=`echo $ipaddr|awk -F . '{print $4}'`
for num in $a $b $c $d
do
if [ $num -gt 255 ] || [ $num -lt 0 ] #每个数值必须在0-255之间
then
return 1
fi
done
return 0
}
if [ $# -ne 1 ];then #判断传参数量
echo "Usage: $0 ipaddress."
exit
else
CheckIPAddr $1
fi

阅读全文

与shell过滤日志文件ip相关的资料

热点内容
含丙烯腈的废水戴什么防护手套 浏览:404
饮水机泵水器怎么装 浏览:934
油烟净化器火花怎么办 浏览:318
饱和水蒸气蒸馏 浏览:147
净水机应该怎么拆 浏览:968
简易净水器的蓬松棉有什么运用 浏览:510
低频波导除垢技术 浏览:409
污水处理水池爬梯 浏览:877
沙坪坝污水池淤泥清理 浏览:513
污染控制中如何进行废水排放管理 浏览:120
天花空调过滤网 浏览:312
psp模拟器如何提升最高画质 浏览:56
大孔树脂分离设备 浏览:149
食品过滤用活性炭 浏览:841
污水处理证4级什么意思 浏览:143
ro膜阻垢剂哪家便宜 浏览:599
净化器aia什么意思 浏览:193
大小区有多少污水井盖 浏览:670
棋牌室空气净化器灯怎么换灯管 浏览:421
关于污水知多少的资料 浏览:485