如果懒得折腾,
把下面的代码保存为trace.sh```
#!/usr/bin/env bash
ip=`mtr -rn $1 -c 1|awk '$2 ~ "[12]?[0-9]?[0-9]\.[12]?[0-9]?[0-9]\.[12]?[0-9]?[0-9]\.[12]?[0-9]?[0-9]"{print $2}'`
for i in $ip
do
echo -e $i'\t\t\c'
curl -s "
ip138.com/ips138.asp?ip="$i | iconv -f gbk -t utf-8 | grep class=\"ul1\" |awk -v FS=">" '{print $4}' |awk -v FS="<" '{print $1}'|awk -v FS=":" '{print $2}'
done
```
运行后效果大概是这样
```
~/code/shell » ./
trace.sh baidu.com192.168.168.254 本地局域网
10.10.10.2 本地局域网
马赛克 马赛克 马赛克
马赛克 马赛克 马赛克
马赛克 马赛克 马赛克
202.97.80.33 中国 电信骨干网 电信
220.181.182.30 北京市 南三环洋桥电信机房 电信
220.181.37.14 北京市 南三环洋桥电信机房 电信
220.181.57.216 北京市 南三环洋桥电信机房 电信
```
排版我是排的不错,不知道发出来后被转义成什么球样,将就看把~