结合 netstat 命令和 geoiplookup
Posted
技术标签:
【中文标题】结合 netstat 命令和 geoiplookup【英文标题】:Combine netstat command and geoiplookup 【发布时间】:2014-09-07 21:55:15 【问题描述】:如何组合以下命令:
netstat -atun | awk 'print $ 5' | cut-d: f1 | -e sed '/ ^ $ / d' | sort | uniq-c | sort-n
和“geoiplookup”列出类似“Con.Number, IP, Country”的内容
我正在使用这个库: http://kbeezie.com/geoiplookup-command-line/
感谢您的帮助! 最好的问候
【问题讨论】:
我认为您的蛮力关键字是导致这是一个负面问题的原因。您只是想确定您的流量来自哪些国家/地区正确? 【参考方案1】:您应该可以通过以下方式获得它:
netstat -an -f inet | awk 'print $ 5' | sed -e '/^\*\.\*$/d' | awk 'sub(/\.[0-9]+$/,"")' | uniq | sort -n | xargs -n 1 geoiplookup | sort | uniq -c | sort -n | sed -r 's/ GeoIP Country Edition://g'
netstat -an -f inet
- 显示所有网络相关的数据结构,网络地址为数字,并拉取 inet 地址族
awk 'print $ 5'
- 接受该输入并仅显示带有先前端口的 IP 地址。
sed -e '/^\*\.\*$/d'
- 去掉所有 . 行
awk 'sub(/\.[0-9]+$/,"")'
- 去掉端口号,只保留 IP 地址
uniq
- 去掉重复的ips
sort -n
- 执行数字排序(非必需)
xargs -n 1 geoiplookup
- 接受第一个输入并执行国家/地区的查找
sort
- 根据国家/地区名称排序
uniq -c
- 将国家名称与计数分组
sort -n
- 根据计数组织国家/地区
sed -r 's/ GeoIP Country Edition://g'
- 去掉“GeoIP Country Edition:”的措辞
这与蛮力无关,只是告诉您连接来自哪个国家/地区。
【讨论】:
该命令对我来说无法正常工作。你测试过吗?感谢您的支持! 这是最好的版本,但将 ip 换行:netstat -atun | awk '$5 ~ /^[1-9]/ 打印 $5' |切-d:-f1 | sed -e '/^$/d' | sed -e '/127.0.0.1/d' |排序 |唯一的-c |排序-n | awk 'print "Ligacoes: "$1" IP:"$2" - Pais:"; $pais=system("geoiplookup "$2)' 我在 MacOS 上对其进行了测试,但没有将其加载到我的任何其他盒子中。是的,我想知道你为什么不保留 IP?以上是关于结合 netstat 命令和 geoiplookup的主要内容,如果未能解决你的问题,请参考以下文章