导航:首页 > 净水问答 > 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相关的资料

热点内容
飞利浦净化器怎么写 浏览:441
取代脲醛树脂最便宜的胶 浏览:684
树脂牛角扣机器 浏览:861
中原空气净化器大概多少钱 浏览:117
换外置汽油滤芯的手工费多少钱 浏览:149
工业盐去水离子 浏览:430
涡轮增压空气滤芯能承受多少温度 浏览:991
ro反渗透原水没压力什么问题 浏览:219
污水源压缩机为什么用保温棉包着 浏览:869
上海熊猫污水处理设备 浏览:38
超滤反渗透怎么加药 浏览:823
天猫净水器是什么类目 浏览:718
怎么清洗抽水式饮水机的滤芯 浏览:300
汽车换空调滤芯里面有什么 浏览:142
山西新型净水器哪里买 浏览:94
山东做柴油过滤灌 浏览:455
污水处理工程投资表 浏览:254
机滤和超滤 浏览:456
树脂被有机物污染后图片 浏览:59
三雀反渗透膜 浏览:140