windows 在命令行中查找IP

fcg9iug3  于 2023-01-21  发布在  Windows
关注(0)|答案(3)|浏览(211)

是否有可能通过离开其他适配器在命令行中只找到我的设备的连接IP地址。我已经使用ipconfig,ipconfig /all,但它显示所有的适配器与媒体状态为断开连接。我想只显示媒体连接IP地址在命令行中。有什么方法为windows?

zbdgwd5y

zbdgwd5y1#

@ECHO OFF
SETLOCAL
SET "items="
SET "notitems="
FOR /f "delims=" %%a IN ('ipconfig') DO SET "line=%%a"&CALL :record
SET "line="
FOR /f "delims=" %%a IN ('ipconfig') DO (
 ECHO :%items%:|FIND ":%%a:" >NUL
 IF NOT ERRORLEVEL 1 SET "line=Y"
 IF DEFINED notitems (
  ECHO :%notitems%:|FIND ":%%a:" >NUL
  IF NOT ERRORLEVEL 1 SET "line="
 )
 IF DEFINED line ECHO %%a
)
GOTO :EOF

:record
:: items begin in col 1 and end with ":"
IF "%line:~0,1%" equ " " GOTO notitem
IF "%line:~-1%" neq ":" GOTO notitem
SET "items=:%line%%items%"
SET "lastitem=%line%"

GOTO :eof

:notitem
IF "%line:~-18%"=="Media disconnected" SET "notitems=:%lastitem%%notitems%"
GOTO :EOF

这应该会向您显示您似乎想要的内容-一个示例会很有帮助。
如果使用ipconfig,则项目的每个报告都以itemname:开头(从第一列开始)。
您似乎希望隐藏media disconnected项,因此对于以空格开头(或不是以:结尾)的行,请查看最后18个字符是否与字符串Media disconnected匹配。
当检测到项目时,将通过适当测试的每个字符串记录在items中,如果不报告该项目,则记录在notitems中。用冒号将每个字符串括起来,以便结果是一个冒号分隔的列表。
然后再次运行ipconfig,如果检测到一个项目,则将line设置为Y(这样报告将打开),但如果该项目在notitems列表中,则将line(现在充当报告开关)设置为 nothing
结果:当检测到项目时,报告将打开,当检测到非项目时,报告将再次关闭。

ngynwnxp

ngynwnxp2#

尝试netstat -n。它给出了当前连接的列表。你可以找到使用的IP地址。

hfwmuf9z

hfwmuf9z3#

Ubuntu上(以及Debian之类的发行版)
查看您的本地IP地址:

hostname -I | awk '{print $1}'

查看您的全局IP地址:

curl -4 icanhazip.com

查看有关您的(或任何)IP地址的所有信息:

whois $(curl -4 icanhazip.com)

假设您已经在计算机上安装了whois,如果没有:

sudo apt-get install whois

相关问题