【TCP/IP】【调试】Windows常用网络相关DOS命令一览

前言

在调试TCP/IP功能的时候,难免要和Windows系统打交道,做一些网络相关的操作。本文将Windows环境下的常用网络相关Dos命令做一梳理。

按命令划分

ipconfig

ip相关配置工具,类似于Linux系统里的ifconfig命令;

ping

可能是windows下使用频率TOP3的网络命令了,几乎是众所周知的命令了;

tracert命令

路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径;

netsh

arp

arp相关操作,Linux下也有类似命令;

route

路由相关配置,Linux下也有类似命令;

nslookup

域名查询相关,类似于linux系统的dig命令;

net

常用的是net use命令;

netstat

一般用于检验本机各端口的网络连接情况,Linux下也有类似命令。

nbtstat

查看NETBIOS状态的命令;

set

显示、设置或删除 cmd.exe环境变量,类似于Linux的setenv命令。

按功能划分

路由

查看

route print

增加路由

route add 10.44.0.0 mask 255.255.0.0 10.46.40.129 -p
# 10.44.0.0为目的IP;
# 255.255.0.0为掩码;
# 10.46.40.129为网关;
# -p为永久

删除路由

route delete 10.44.0.0

DNS相关

查看dns

ipconfig /displaydns

清dns缓存

ipconfig /flushdns

域名查询

nslookup                                   #交互式查询
nslookup Domain nslookup domain [dns-server] #如不指定dns-server,则使用默认服务器查询;如指定DNS服务器,则去指定服务器查询域名
nslookup -d Domain                            #查询更详细的域名信息
nslookup -qt=cname Domain                     #指定参数,查询其它记录,如CNAME

例子:

C:\Users\qxhgd>nslookup www.baidu.com
服务器:  nj.net.zte
Address:  10.40.8.8

非权威应答:
名称:    www.wshifen.com
Address:  103.235.46.39
Aliases:  www.baidu.com
          www.a.shifen.com
C:\Users\qxhgd>nslookup www.baidu.com 114.114.114.114
服务器:  public1.114dns.com
Address:  114.114.114.114

非权威应答:
名称:    www.a.shifen.com
Addresses:  36.152.44.96
          36.152.44.95
Aliases:  www.baidu.com```

hosts文件

C:\Windows\System32\drivers\etc\hosts
  • Hosts 的请求级别比 DNS 高。
  • 常用于屏蔽特定域名、加速域名解析(FQ)、虚拟域名解析等场景。

ARP

查看ARP条目

arp /a

清除ARP条目

arp /d

添加静态ARP条目

arp -s 157.55.85.212   00-aa-00-62-c6-09

邻居表

windows查看邻居缓存,IPv4和IPv6两种情况

netsh interface ipv6 show neighbors
netsh interface ipv4 show neighbors

绑定ARP

netsh interface ipv4 set neighbors 11 "192.168.0.1" "c8-d3-a3-02-97-56" store=persistent
netsh interface ipv4 set neighbors 11 "192.168.0.1" "c8-d3-a3-02-97-56" store=active

这个绑定ARP的操作和之前添加ARP静态条目的作用类似。

MTU

MTU查看

netsh interface ipv4 show subinterfaces

MTU修改

netsh interface ipv4 set subinterface "WLAN 2" MTU=2000 store=persist

ping包

ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list

例1、不停的ping

C:\Users\qxhgd>ping 192.168.1.1 -t

正在 Ping 192.168.1.1 具有 32 字节的数据:
来自 192.168.1.1 的回复: 字节=32 时间<1ms TTL=64

例2、ping指定长度

C:\Users\qxhgd>ping 192.168.1.1 -l 128

正在 Ping 192.168.1.1 具有 128 字节的数据:
来自 192.168.1.1 的回复: 字节=128 时间<1ms TTL=64

网络连接状态

netstat -a                     #显示所有socket,常用netstat -an
netstat -n                     #以网络IP地址代替名称,显示网络连接情况;
netstat -p                     #按协议查看,如netstat -p tcp/ip
netstat -s                     #查看正在使用的所有协议使用情况
netstat -an                    #查看所有被打开的端口列表:
netstat -ano                   #产看电脑端口占用情况
netstat -ano | findstr "80"    #查看具体某个端口被占用的情况
tasklist | findstr "80"        #查看某个端口具体被那个应用占用

netstat的选项比较多:

C:\Windows\system32>netstat ?
显示协议统计信息和当前 TCP/IP 网络连接。
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-x] [-t] [interval]

  -a            显示所有连接和侦听端口。
  -b            显示在创建每个连接或侦听端口时涉及的
                可执行程序。在某些情况下,已知可执行程序承载
                多个独立的组件,这些情况下,
                显示创建连接或侦听端口时
                涉及的组件序列。在此情况下,可执行程序的
                名称位于底部 [] 中,它调用的组件位于顶部,
                直至达到 TCP/IP。注意,此选项
                可能很耗时,并且在你没有足够
                权限时可能失败。
  -e            显示以太网统计信息。此选项可以与 -s 选项
                结合使用。
  -f            显示外部地址的完全限定
                域名(FQDN)。
  -n            以数字形式显示地址和端口号。
  -o            显示拥有的与每个连接关联的进程 ID。
  -p proto      显示 proto 指定的协议的连接;proto
                可以是下列任何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s
                选项一起用来显示每个协议的统计信息,proto 可以是下列任何一个:
                IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
  -q            显示所有连接、侦听端口和绑定的
                非侦听 TCP 端口。绑定的非侦听端口
                 不一定与活动连接相关联。
  -r            显示路由表。
  -s            显示每个协议的统计信息。默认情况下,
                显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;
                -p 选项可用于指定默认的子网。
  -t            显示当前连接卸载状态。
  -x            显示 NetworkDirect 连接、侦听器和共享
                终结点。
  -y            显示所有连接的 TCP 连接模板。
                无法与其他选项结合使用。
  interval      重新显示选定的统计信息,各个显示间暂停的
                间隔秒数。按 CTRL+C 停止重新显示
                统计信息。如果省略,则 netstat 将打印当前的
                配置信息一次。

例:

C:\Users\qxhgd>netstat
活动连接
  协议  本地地址          外部地址        状态
  TCP    10.40.164.55:2009      10.40.164.9:9053       ESTABLISHED
  TCP    10.40.164.55:2026      10.40.164.9:9053       ESTABLISHED
  TCP    10.40.164.55:2174      10.41.134.23:8237      ESTABLISHED

Netbios连接状态

nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名

网络共享

net use \\ip /user:user 
net use \\ip password /user:user 
net use \\ip /del

下面的例子,在不同用户名访问同一IP的samba的时候可能会用到:

net use \\10.40.40.11 /user:Administrator 
net use \\10.40.40.11 "password" /user:"Administrator" 
net use \\10.40.40.11 "password" /del

和net use命令类似的,还有一个net user命令,不要混淆了。

网卡配置

固定IP和DNS设置:

set netname="以太网"  //网卡名
set ip=192.168.90.66 //本机IP地址
set subnetmask=255.255.255.0 //子网掩码
set gateway=192.168.90.1 //网关
set dns1=8.8.8.8 //默认DNS
set dns2=8.8.4.4 //备用DNS

netsh interface ip set address name=%netname% source=static addr=%ip% mask=%subnetmask% gateway=%gateway% gwmetric=1 //默认网关的跃点数
netsh interface ip set dns name=%netname% source=static addr=%dns1% primary //主要的
netsh interface ip add dns name=%netname% addr=%dns2% index=2 //为指定的DNS服务器地址

自动获取(IP和DNS)

set netname="以太网"  //网卡名
netsh interface ip set address name=%netname% source=dhcp
netsh interface ip set dns name=%netname% source=dhcp

一般,在自动化测试环境中,使用批处理动态操作网卡时会用到。

抓包

开始抓包

netsh trace start [OTHER OPTIONS]
netsh trace start capture=YES report=YES persistent=YES #基本的启用持续追踪并生成报告的方式

停止抓包

netsh trace stop #停止追踪的方式如下:

注:netsh抓到的报文需要经过特定软件(windows message analyzer)才能打开。

小结

  • 在调试TCP/IP相关功能的时候,上述命令经常要用到,不同场景选用不同命令。
  • 比如一个场景,调试PC有两个网卡,同时连接内外网。现在需要内网IP走网卡1,外网IP走网卡2,此时静态路由就派上用场了。

如本文对你有些许帮助,欢迎打赏:
支付宝打赏链接

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花神庙码农

你的鼓励是我码字的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值