试图将lsof -Pi的一些输出传递给geoiplookup

时间:2018-04-06 07:57:47

标签: bash lsof

寻找将第二列输出传递给geoiplookup的方法,理想情况是在同一行,但不一定。这是我能想到的最好的。它是可用的,但遗憾的是,geoiplookup结果位于连接列表之下。我想要更多综合结果。如果有人可以提出改进建议,我们欢迎他们。

ns () {
  echo ""
  while sleep 1; do
    lsof -Pi |
    grep ESTABLISHED |
    sed "s/[^:]*$//g" |
    sed "s/^[^:]*//g" |
    sed "s/://g" |
    sed "s/->/\t/g" |
    grep -v localdomain$ |
    tee >(for x in `grep -o "\S*$"`; do geoiplookup $x | sed "s/GeoIP.*: /\t/g"; done)
  done
}

结果目前看起来像这样:

<Port>    <URL or IP if no reverse available #1>
<Port>    <URL or IP if no reverse available #2>
    <geoiplookup trimmed result #1>
    <geoiplookup trimmed result #2>

1 个答案:

答案 0 :(得分:0)

我收到了一个很好的答案here