【问题标题】:Combine netstat command and geoiplookup结合 netstat 命令和 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/

感谢您的帮助! 最好的问候

【问题讨论】:

  • 我认为您的蛮力关键字是导致这是一个负面问题的原因。您只是想确定您的流量来自哪些国家/地区正确?

标签: geolocation netstat ip-geolocation


【解决方案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?
猜你喜欢
  • 2012-09-18
  • 2013-03-08
  • 2015-05-10
  • 1970-01-01
  • 2016-12-15
  • 1970-01-01
  • 1970-01-01
  • 2013-10-31
  • 2018-01-25
相关资源
最近更新 更多