当前位置:首页 > 技术分析 > 正文内容

渗透测试常用cmd命令总结——网络命令终篇

ruisui883个月前 (02-03)技术分析12

真正的高手大多都精通Linux、UNIX或者Windows下的基础命令,并熟悉各种系统下的攻击和防护,而所有的高手都经历过菜鸟时期,都要从最基础的开始,并且基础是关键。因此,了解和熟悉常见的DOS基础命令就显得十分重要,所以我根据自己的个人经验和网上的一些资料,总结整理了一些作为网络安全工作者比较常用的DOS命令给大家分享一下,希望对大家有所帮助。

六、网络命令

1、ping命令

ping命令是TCP/IP协议中最有用的命令之一,它通过向计算机发送ICM回应报文并监听回应报文的返回,校验与远程计算机或者本地计算机的连接。对每个发送的报文,ping命令最多等待1秒,并打印发送和接受报文的数量。比较每个接受报文和发送报文,以校验其有效性。默认情况下发送4个回应报文,每个报文包含64字节数据,格式如下:

ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name

“-t”表示Ping 指定的主机,直到停止,若要查看统计信息并继续操作 ,请键入 Control-Break;若要停止,请键入 Control-C;

“-n count ”表示要发送的回显请求数;

“-l size”表示发送缓冲区大小;

“-f”表示在数据包中设置“不分段”标志(仅适用于 IPv4);

“-i TTL ”表示生存时间;

“-v TOS ”表示服务类型(仅适用于 IPv4。该设置已不赞成使用,且对 IP 标头中的服务字段类型没有任何响);

“-r count”表示记录计数跃点的路由(仅适用于 IPv4);

“-s count ”表示计数跃点的时间戳(仅适用于 IPv4);

“-j host-list ”表示与主机列表一起的松散源路由(仅适用于 IPv4);

“-k host-list ”表示与主机列表一起的严格源路由(仅适用于 IPv4);

“-w timeout ”表示等待每次回复的超时时间(毫秒);

“-R”表示同样使用路由标头测试反向路由(仅适用于 IPv6);

“-S srcaddr ”表示要使用的源地址;

“-4 ”表示强制使用 IPv4;

“-6 ”表示强制使用 IPv6。

也可以输入“ping /?”查看帮助信息,如下图:

2、nbtstat命令

nbtstat命令可以用于查询涉及NetBIOS信息的网络计算机,还可以用于消除NetBIOS高速缓存器和预加载LMHOSTS文件,该命令在进行安全检查时非常有用,格式如下:

NBTSTAT [ [-a RemoteName] [-A IP address] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [interval] ]

“-a”表示(适配器状态) 列出指定名称的远程机器的名称表;

“-A”表示(适配器状态) 列出指定 IP 地址的远程机器的名称表;

“-c ”表示(缓存) 列出远程[计算机]名称及其 IP 地址的 NBT 缓存;

“-n ”表示(名称) 列出本地 NetBIOS 名称;

“-r ”表示(已解析) 列出通过广播和经由 WINS 解析的名称;

“-R ”表示(重新加载) 清除和重新加载远程缓存名称表;

“-S”表示(会话) 列出具有目标 IP 地址的会话表;

“-s ”表示(会话) 列出将目标 IP 地址转换成计算机 NETBIOS 名称的会话表;

“-RR ”表示(释放刷新) 将名称释放包发送到 WINS,然后启动刷新;

“RemoteName”表示远程主机计算机名;

“IP address”表示用点分隔的十进制表示的 IP 地址;

“interval ”表示重新显示选定的统计、每次显示之间暂停的间隔秒数,按 Ctrl+C 停止重新显示统计。

也可以输入“nbtstat /?”查看帮助信息,如下图:

3、netstat命令

netstat命令用于显示活动的TCP连接、路由表和网络接口信息等,可以让用户得知目前有哪些网络连接正在运行,格式如下:

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]

“-a”表示显示所有连接和侦听端口,常与参数“n”配合使用查看当前所有网络连接;

“-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;

“-r ”表示显示路由表;

“-s ”表示显示每个协议的统计。默认情况下,显示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6的统计;

“-p ”表示选项可用于指定默认的子网。

-t 显示当前连接卸载状态。

“interval ”表示重新显示选定的统计,各个显示间暂停的间隔秒数。按 CTRL+C 停止重新显示统计。如果省略,则 netstat将打印当前的配置信息一次。

也可以输入“netstat /?”查看帮助信息,如下图:

4、nslookup命令

nslookup命令的功能是查询一台机器的IP地址和其对应的域名,它通常需要一台域名服务器提供域名服务,格式如下:

nslookup [IP地址/域名]

nslookup [-opt ...] # 使用默认服务器的交互模式;

nslookup [-opt ...] - server # 使用 "server" 的交互模式;

nslookup [-opt ...] host # 仅查找使用默认服务器的 "host";

nslookup [-opt ...] host server # 仅查找使用 "server" 的 "host"。

也可以输入“netstat /?”查看帮助信息,如下图:

5、finger命令

finger命令用于显示指定系统上运行 finger 服务的用户信息,格式如下:

FINGER [-l] [user]@host [...]

“-l ”表示以长列表格式显示信息。

“user”表示指定需要其信息的用户。省略 user 参数将显示与指定主机上所有用户有关的信息。

“@host”表示指定需要其用户信息的远程系统上的服务器。

也可以输入“finger /?”查看帮助信息,如下图:

6、ftp命令

FTP是“FileTransfer Protocol”(文件传输协议) 的简称。FTP命令是Internet用户使用最频繁的命令之一。FTP命令使用户能在两台联网的计算机之间传输文件, 是在互联网上传输文件的最主要的方法。知道FTP服务器的IP地址、端口、用户名称和密码, 即可从服务器上下载或者上传文件。除此之外, 还可以进行目录操作、文件操作及执行命令等。目前, 一些FTP服务器应用软件,如Serv-U等, 可以设置用户可否执行DOS等命令。利用FTP留后门也是控制计算机(肉机) 的方法之一。FTP命令的功能非常强大, 因此, 掌握一些常用的FTP命令对于顺利进行网络攻防而言,是非常有必要的,格式如下:

FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A] [-x:sendbuffer] [-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [host]

“-v ”表示禁止显示远程服务器响应;

“-n ”表示禁止在初始连接时自动登录;

“-i ”表示关闭多文件传输过程中的交互式提示;

“-d ”表示启用调试;

“-g”表示禁用文件名通配(请参阅 GLOB 命令);

“-s:filename”表示指定包含 FTP 命令的文本文件;命令在 FTP 启动后自动运行;

“-a 表示”在绑字数据连接时使用所有本地接口;

“-A ”表示匿名登录;

“-x:send sockbuf ”表示覆盖默认的 SO_SNDBUF 大小 8192;

“-r:recv sockbuf”表示覆盖默认的 SO_RCVBUF 大小 8192;

“-b:async count”表示覆盖默认的异步计数 3;

“-w:windowsize ”表示覆盖默认的传输缓冲区大小 65535。host 指定主机名称或要连接到的远程主机的 IP 地址。

也可以输入“ftp /?”查看帮助信息,如下图:

7、telnet命令

Telnet用于Internet的远程登录, 它可以使已上网的计算机通过网络连接另一台计算机已上网的计算机, 实现两台计算机的互相连通。Telnet主要用于远程执行命令, 与DOS命令提示符窗口类似,目前的很多木马和远程控制软件都有这项功能, 在一些情况下, 还可以利用Telnet保留后门。Telnet服务器端的默认端口为23, 格式如下:

telnet[-a] [-e escape char] [-f logfile] [-l user] [-t term] [host[port] ]

“-a”表示企图自动登录,除了用当前已登录的用户以外,与“-l”相同;

“-e”表示跳过字符, 进入Telnet客户提示;

“-f”表示客户端登录的文件名;

“-1”用于指定登录远程系统时使用的用户名, 要求远程系统支持“TELNET ENVIRON”选项;

“-t”用于指定终端类型。支持的终端类型仅有vtl 00、vt 52、ansi和v tnt。

“host”用于指定要连接的远程计算机的主机名或IP地址。

“port”用于指定端口号或服务名。

8、at命令

at命令是入侵时使用的一个重要命令,通过它可以指定时间执行木马程序或命令,使用at命令时,其“Task Scheduler”服务的状态必须是“启动”,格式如下:

AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]

AT [\\computername] time [/INTERACTIVE]

[ /EVERY:date[,...] | /NEXT:date[,...]] "command"

“\\computername ”表示指定远程计算机。如果省略这个参数,会计划在本地计算机上运行命令。

“id ”表示指定给已计划命令的识别号。

“/delete”表示删除某个已计划的命令。如果省略 id,计算机上所有已计划的命令都会被删除。

“/yes ”表示不需要进一步确认时,跟删除所有作业的命令一起使用。

“time ”表示指定运行命令的时间。

“/interactive ”表示允许作业在运行时,与当时登录的用户桌面进行交互。

“/every:date[,...] ”表示指定在每周或每月的特定日期运行命令。如果省略日期,则默认为在每月的本日运行。

“/next:date[,...] ”表示指定在下一个指定日期(如,下周四)运行命令。如果省略日期,则默认为在每月的本日运行。

“"command" ”表示准备运行的 Windows NT 命令或批处理程序。

也可以输入“at /?”查看帮助信息,如下图:

9、tracert命令

tracert命令用于验证远程主机路径的实用程序,格式如下:

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name

“-d ”表示不将地址解析成主机名;

“-h maximum_hops”表示搜索目标的最大跃点数;

“-j host-list ”表示与主机列表一起的松散源路由(仅适用于 IPv4);

“-w timeout”表示等待每个回复的超时时间(以毫秒为单位);

“-R”表示跟踪往返行程路径(仅适用于 IPv6);

“-S srcaddr”表示要使用的源地址(仅适用于 IPv6);

“-4 ”表示强制使用 IPv4;

“-6 ”表示强制使用 IPv6。

也可以输入“tracert /?”查看帮助信息,如下图:

以上就是我总结的渗透测试常用的cmd命令——网络命令篇,欢迎大家补充,至此渗透测试常用的cmd命令已经全部总结整理完成,谢谢大家支持,欢迎关注@科技兴了解更多科技尤其是网络安全方面的知识。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1610.html

分享给朋友:

“渗透测试常用cmd命令总结——网络命令终篇” 的相关文章

适合旧电脑2022年值得推荐的 10 款轻量级 Linux 发行版

推荐 10 款轻量级Linux 发行版,它们是 2022 年的轻量级、对旧硬件友好的 Linux 发行版。1、Linux LiteLinux Lite 是一款基于#ubuntu# 和 Debian 的、正在不断开发和完善的 Linux 发行版,极好看的 Xfce 桌面,并基于 Ubuntu,采用了...

2024前端面试真题之—VUE篇

添加图片注释,不超过 140 字(可选)1.vue的生命周期有哪些及每个生命周期做了什么? beforeCreate是new Vue()之后触发的第一个钩子,在当前阶段data、methods、computed以及watch上的数据和方法都不能被访问。 created在实例创建完成后发生,当前阶段已...

vue:组件中之间的传值

一、父子组件之间的传值----props/$emit1、父组件向子组件传值--props2.子组件想父组件传值-this.$emit('select',item)二、父组件向下(深层)子组件传值----provide/injectprovide:Object | () => O...

vue 3 学习笔记 (八)——provide 和 inject 用法及原理

在父子组件传递数据时,通常使用的是 props 和 emit,父传子时,使用的是 props,如果是父组件传孙组件时,就需要先传给子组件,子组件再传给孙组件,如果多个子组件或多个孙组件使用时,就需要传很多次,会很麻烦。像这种情况,可以使用 provide 和 inject 解决这种问题,不论组件嵌套...

79.idea中git合并分支操作分享

文章目录前言1.fetch的操作2.合并最新代码到当前的开发分支3.解决冲突4.分支合并:5.完成代码合并总结前言git的操作在日产的工作中也非常重要,团队化的代码管理,每次如果代码被别人覆盖或者自己的代码不能提交到服务器那是灾难性的结果,本篇进行一篇分享来总结下idea中git的操作帮助java开...

身体越柔软越好?刻苦拉伸可能反而不健康 | 果断练

坐下伸直膝盖,双手用力向前伸,再用力……比昨天前进了一厘米,又进步了! 这么努力地拉伸,每个人都有自己的目标,也许是身体健康、线条柔美、放松肌肉、体测满分,也可能为了随时劈个叉,享受一片惊呼。 不过,身体柔软,可以享受到灵活的福利,也可能付出不稳定的代价,并不是越刻苦拉伸越好。太硬或者太软,都不安全...