当前位置:   article > 正文

nmap 网络扫描工具用法。以下是 nmap 常用的一些用法:_nmap扫描网段设置

nmap扫描网段设置
  1. 扫描单个主机或 IP 地址:

nmap [options] <target>

例如:nmap 192.168.0.1

  1. 扫描多个主机或 IP 地址:

nmap [options] <target1> <target2> ...

例如:nmap 192.168.0.1 192.168.0.2

  1. 扫描整个网段:

nmap [options] <IP/mask>

例如:nmap 192.168.0.0/24

  1. 扫描多个端口:

nmap [options] -p <port1,port2,...> <target>

例如:nmap -p 80,443,8080 192.168.0.1

  1. 扫描指定端口范围:

nmap [options] -p <port1-port2> <target>

例如:nmap -p 1-1000 192.168.0.1

  1. 扫描所有端口:

nmap [options] -p- <target>

例如:nmap -p- 192.168.0.1

  1. 扫描指定协议:

nmap [options] -sU <target> # 扫描 UDP 端口nmap [options] -sT <target> # 扫描 TCP 端口(默认)

例如:nmap -sU 192.168.0.1

  1. 扫描操作系统:

nmap [options] -O <target>

例如:nmap -O 192.168.0.1

  1. 扫描服务和应用程序:

nmap [options] -sV <target>

例如:nmap -sV 192.168.0.1

10 扫描等级:

nmap [options] -T <target>

例如:nmap -T0`5 192.168.0.1

0 ( Paranoid )

1 ( Sneaky )

2 ( Polite )

3 ( Normal )

4 ( Aggressive )

5 ( Insane )

  • Paranoid(慢速):尽量减少扫描器对目标系统的影响,发送最少的数据包,最小化扫描器的输出。可以使用此模式进行轻松的探测。

  • Sneaky(隐蔽):与 Paranoid 模式相似,但可以发送更多的数据包,具有更高的扫描速度。这种模式可以用于更深入的扫描,但需要扫描器的运行时尽可能不被目标系统检测到。

  • Polite(礼貌):在不影响目标系统的情况下,发送足够的数据包以提供有用的输出。这是最常用的模式之一,适用于大多数情况。

  • Normal(正常):在短时间内发送大量的数据包,以实现较快的扫描速度。默认模式。

  • Aggressive(侵略):发送更多的数据包以提供更详细的输出,并尝试探测更多的端口。这种模式可以帮助识别那些被隐藏的服务或主机,但会对目标系统产生更多的影响,可能会被检测到。

  • Insane(疯狂):以最快的速度发送最多的数据包,以实现最快的扫描速度和最完整的扫描。这种模式可能会对目标系统产生严重的影响,可能会被检测到。

以上是 nmap 的一些常用用法,还有很多其它参数和选项可以使用,具体可以查看 nmap 的官方文档或使用 nmap --help 命令查看。

以下是用python调用nmap实现扫描的代码

  1. import nmap
  2. # 接收用户输入的 IP 和端口
  3. ip_address = input('请输入要扫描的 IP 地址:')
  4. port = input('请输入要扫描的端口号:')
  5. try:
  6. # 创建端口扫描对象
  7. nm = nmap.PortScanner()
  8. except nmap.PortScannerError:
  9. print('Nmap not found', sys.exc_info()[0])
  10. sys.exit(0)
  11. except:
  12. print("Unexpected error:", sys.exc_info()[0])
  13. sys.exit(0)
  14. try:
  15. # 调用扫描方法,参数指定扫描主机 hosts,nmap 扫描命令行参数 arguments
  16. nm.scan(hosts=ip_address, arguments='-v -sS -p '+port)
  17. except Exception as e:
  18. print("Scan erro:" + str(e))
  19. # 遍历扫描主机
  20. for host in nm.all_hosts():
  21. print('----------------------------------------------------')
  22. # 输出主机及主机名
  23. print('Host : %s (%s)' % (host, nm[host].hostname()))
  24. # 输出主机状态,如 up、down
  25. print('State : %s' % nm[host].state())
  26. for proto in nm[host].all_protocols():
  27. # 遍历扫描协议,如 tcp、udp
  28. print('----------')
  29. # 输入协议名
  30. print('Protocol : %s' % proto)
  31. # 获取协议的所有扫描端口
  32. lport = nm[host][proto].keys()
  33. # 端口列表排序
  34. list(lport).sort()
  35. # 遍历端口及输出端口与状态、类型、服务
  36. for port in lport:
  37. print('port : %s\tstate : %s\ttype : %s\tservice : %s' % (port, nm[host][proto][port]['state'], nm[host][proto][port]['product'], nm[host][proto][port]['name']))

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/663681
推荐阅读
相关标签
  

闽ICP备14008679号