霜下雪 發表於 2023-8-21 00:00:00

给输出的IP附加上地理信息和所属ISP

<p>公司业务调整,对日志进行分析时,想要同时显示IP所在地以及所属ISP,用脚本获取日志IP再逐条通过第三方接口查询显的很笨拙又要联网查询效率方面可想而知,可参见《使用PHP+淘宝IP地址库接口获得IP所属地理位置》。找到了一款工具nali,取自中文“哪里”的拼音。包含的命令有nali、nali-dig、nali-nslookup、nali-ping、nali-tracepath、nali-traceroute、nali-update。主要功能就是把一些网络工具的输出的IP字符串,附加上地理位置信息(使用纯真数据库QQWry.Dat),查询是在本地进行的,不会联网查询。</p>
<p>一. 安装nali</p><pre class="brush:bash;toolbar:false"># wget https://qqwry.googlecode.com/files/nali-0.2.tar.gz
# tar zxvf nali-0.2.tar.gz
# cd nali-0.2
# ./configure --help
# make
# make install</pre><p>二. 更新IP数据库<br>
在使用nali之前,先更新IP数据库到最新版本。</p><pre class="brush:bash;toolbar:false"># nali-update
Updating /usr/local/share/QQWry.Dat
% Total    % Received % XferdAverage Speed   Time    Time   TimeCurrent
                                 DloadUpload   Total   Spent    LeftSpeed
100 8932k100 8932k    0   0   336k      00:00:260:00:26 --:--:--370k
Successfully Updated</pre><p>三. 使用实例<br>
1. 统计nginx访问日志并查看来自哪里</p><pre class="brush:bash;toolbar:false"># cat www.ttlsa.com-aceess.log | awk '{print $1}' | sort | uniq -c | nali | sort -rnk1 | head -n 20</pre><p><img src="https://zhuji.jb51.net/uploads/img/20230517/a576d206db049b28d4fd380ad7fdc719.jpg" width="408" height="212"></p>
<p>2. 查找请求IP并显示来自哪里(常用于查找攻来源)</p><pre class="brush:bash;toolbar:false"># netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|nali | sort -nr|head -n20</pre><p><img src="https://zhuji.jb51.net/uploads/img/20230517/0f6802faf3908ef2f7af42576225a00d.jpg" width="431" height="161"></p>
<p>3. 用tcpdump嗅探80端口的访问谁最高并显示来自哪里</p><pre class="brush:bash;toolbar:false"># tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c|nali | sort -nr |head</pre><p><img src="https://zhuji.jb51.net/uploads/img/20230517/d8f1ca4589d41e7b9578dcd53b5a9544.jpg" width="387" height="131"></p>
<p>对于nali-dig、nali-nslookup、nali-ping、nali-tracepath、nali-traceroute这几个命令,大家就各自去试试,简单明了,这里就不演示了。</p>
頁: [1]
查看完整版本: 给输出的IP附加上地理信息和所属ISP