- 求职 : 其它语言研发
- 论坛徽章:
- 1
|
本帖最后由 A西门吹牛A 于 2015-08-17 12:36 编辑
需要处理的文件ip.txt格式如下。
123.56.84.244
13.153.213.55
12.123.153.5
需要处理为如下结果,第一部分前面部分是用nali命令查询到的归属地,后面的10.223.*.2是所走的出口。
123.56.84.244[辽宁省葫芦岛市 铁通] 10.223.115.2
13.153.213.55[美国 Xerox] 10.223.178.2
12.123.153.5[美国 ATT用户] 10.223.199.2
我写的脚本如下。
#!/bin/bash
#### 使用方法:把要跟踪的地址写入ip.txt,程序会把每个ip走的出口写入out文件。
#### 举例:bash mtracepoint.sh
rm -fr out
host=ip.txt
number=`cat ${host}|wc -l`
for ((i=1;i<=$number;i++))
do
Host=`head -$i ${host}|tail -1`
echo ${Host}
Zone=`nali ${Host}`
echo ${Zone}
#跟踪4跳路由就停止,然后,在路由中搜索10.223.*.2出口,以及10.223.227.121互联,并所属的ip以及搜索到的所走的出口写入out文件。
traceroute -m5 ${Host} | awk -F" |(|)" -v Host=$Host -v Zone=$Zone '$0~/10.223.[1-9][0-9][0-9].2\>|10.223.227.121/{print Zone,$4 >> "out"}' &
done
wait
现在遇到的问题是报错如下:
60.6.197.219
60.6.197.219[河北省邢台市 联通ADSL]
awk: cmd. line:1: 联通ADSL]
61.135.169.125
awk: cmd. line:1: ^ invalid char '�' in expression
61.135.169.125[北京市 百度蜘蛛]
61.189.0.80
awk: cmd. line:1: 百度蜘蛛]
awk: cmd. line:1: ^ invalid char '�' in expression
61.189.0.80[辽宁省鞍山市 联通]
awk: cmd. line:1: 联通]
awk: cmd. line:1: ^ invalid char '�' in expression
66.110.33.152
66.110.33.152[加拿大]
66.110.33.184
66.110.33.184[加拿大] |
|