【问题标题】:How do I parse relevant IP addresses from netstat and redirect it to NSlookup in a batch script?如何从 netstat 解析相关 IP 地址并在批处理脚本中将其重定向到 NSlookup?
【发布时间】:2017-01-23 17:55:41
【问题描述】:

如何解析外部地址列中的 IP 地址并将它们重定向到 nslookup 而忽略其他所有内容?

Proto  Local Address          Foreign Address        State           PID
TCP    127.0.0.1:5354         0.0.0.0:0              LISTENING       2076
TCP    127.0.0.1:5354         127.0.0.1:49671        ESTABLISHED     2076
TCP    127.0.0.1:5354         127.0.0.1:49672        ESTABLISHED     2076
TCP    127.0.0.1:27015        0.0.0.0:0              LISTENING       1360
TCP    127.0.0.1:27015        127.0.0.1:51666        ESTABLISHED     1360
TCP    127.0.0.1:49671        127.0.0.1:5354         ESTABLISHED     1360
TCP    127.0.0.1:49672        127.0.0.1:5354         ESTABLISHED     1360
TCP    127.0.0.1:49769        127.0.0.1:49770        ESTABLISHED     7916
TCP    127.0.0.1:49770        127.0.0.1:49769        ESTABLISHED     7916
TCP    127.0.0.1:49773        127.0.0.1:49774        ESTABLISHED     6952
TCP    127.0.0.1:49774        127.0.0.1:49773        ESTABLISHED     6952
TCP    127.0.0.1:51666        127.0.0.1:27015        ESTABLISHED     7944
TCP    192.168.1.4:139        0.0.0.0:0              LISTENING       4
TCP    192.168.1.4:50031      40.77.229.23:443       ESTABLISHED     3268
TCP    192.168.1.4:50047      17.252.60.32:5223      ESTABLISHED     8684
TCP    192.168.1.4:50197      104.82.252.232:443     CLOSE_WAIT      12640
TCP    192.168.1.4:50198      104.82.252.232:443     CLOSE_WAIT      12640

【问题讨论】:

  • 为什么不netstat -f?
  • 哪个 windows/netstat 版本? netstat -f呢?
  • 您无法同时查看 IP 地址和完全限定域名。在某些时候,我想将域名与 IP 地址等同起来。
  • 为什么这个问题被否决了?这个问题有什么问题吗
  • @Psychomatician 阅读有关asking 的帮助主题。 Stack Overflow 主要是为程序员帮助其他程序员在卡在某个地方时完成他们的编码任务。一个根本没有代码的问题,只有一个任务描述,并询问如何使用 ... 表示您没有努力自己解决编码任务,而是使用 Stack Overflow 作为免费的代码编写服务。 SO 上的许多程序员不喜欢它被用作其他人的无偿代码编写者,因为他们自己根本没有尝试过任何事情来编写任务的代码。

标签: batch-file nslookup


【解决方案1】:

试试这个,仅限 IPv4 地址。

@Echo off
For /f "tokens=3" %%A in (
  'netstat -n -o ^| find /V "[" ^| find ":"'
) Do For /f "tokens=1,2 delims=:" %%B in ("%%A"
) Do For /f "tokens=2 delims=: " %%D in (
  'nslookup %%B ^| findstr /i "^Name:" ^|find /v "localhost"'
) Do Echo %%B:%%C     %%D
Goto :Eof

示例缩短输出:

212.227.17.178:993     imap.web.de
40.77.229.46:443     db5sch101101929.wns.windows.com
40.77.229.3:443     db5sch101100831.wns.windows.com
40.77.229.64:443     db5sch101110343.wns.windows.com
54.149.244.33:443     ec2-54-149-244-33.us-west-2.compute.amazonaws.com
212.227.17.162:993     imap.web.de
212.227.15.171:993     imap.1und1.de

第一个解析 ip:port 从 netstat 输出中删除 IPv6 结果 第二个用于拆分 ip 和端口 第三个用于解析 netstat 输出

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-15
    • 1970-01-01
    • 2011-04-21
    • 2018-11-09
    • 1970-01-01
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    相关资源
    最近更新 更多