Nmap基本扫描操作

Nmap具备的功能

1、主机发现功能:向目标计算机发送特制的数据包组合,根据目标的反应确定它是否处于开机并连接到网络的状态;

2、端口扫描:向目标计算机的指定端口发送特制的数据包组合,根据目标端口的反应来判断它是否开放;

3、服务及版本的检测:向目标计算机的目标端口发送特质的数据包组合,根据目标的反应检测它运行服务的服务类型和版本;

4、操作系统检测:向目标计算机发送特制的数据包组合,根据目标的反应检测它的操作系统类型和版本。

 

Nmap的基本操作

Nmap的最简单的命令就是在命令行输入Nmap和<目标IP地址>,例如:Nmap 123.58.180.7

1、当前使用的Nmap版本为7.25,扫描开始时间为2017-03-20 05:43;

2、一个标题,生成关于123.58.180.7主机的报告;

3、给出目标主机的状态为up(意味着主机处于开机并连接上了互联网的状态);

4、表示在检测的1000端口中,有997个端口都是关闭的;

5、生成一张表,表中有三个字段,分别是port(端口)、state(状态)、service(运行的服务)&#

### NMAP 基本扫描 使用教程 实验报告 示例 #### 一、实验目的 通过本次实验,掌握Nmap工具的基础功能及其应用方法。具体包括但不限于:使用Zenmap管理不同扫描配置文件并生成HTML扫描报告[^1],理解激进扫描模式以及如何从扫描中排除特定主机列表[^2],熟悉TCP同步扫描的工作原理及其实现方式[^4]。 #### 二、环境准备 - 安装好Nmap软件。 - 配置测试网络环境,确保有权限对目标机器进行合法合规的安全检测活动。 - 如果计划利用图形界面操作,则需安装Zenmap GUI版本。 #### 三、主要功能介绍与实践案例分析 ##### (一)创建自定义扫描配置并通过Zenmap执行 可以借助Zenmap来简化复杂的命令行输入过程,同时保存常用的设置组合成模板以便日后重复调用。例如,在GUI界面上设定目标地址范围、指定端口号区间或者启用某些高级选项之后点击“另存为”,即可形成一个新的profile记录下来供后续快速选用。 另外值得注意的是,当完成一次完整的探测流程后,还可以导出详细的发现成果至外部存储介质上作为永久档案留存——这一步骤通常表现为输出一份结构化的html页面形式呈现给用户查看。 ```bash nmap -sV --version-all -oX scan_results.xml target_ip_address && xsltproc scan_results.xml -o scan_report.html ``` 上述脚本展示了如何先运行带有服务指纹识别(-sV)特性的全面型核查动作,并把原始XML格式的结果转换成为易于阅读浏览的人性化网页样式。 ##### (二)合理运用--exclude/--excluede-file参数规避敏感区域 为了避免误触内部关键基础设施或是已知不可达节点浪费资源时间成本过高问题存在时,“–exclude”开关允许我们手动罗列不想涉及的具体IP数值串;而更进一步地批量处理需求下则推荐采用“–exclude-file”的办法导入事先编辑好的纯文本档内含有多条待忽略项清单。 示例代码如下所示: ```bash nmap -sn 192.168.0.0/24 --exclude 192.168.0.{1,2} # 或者 nmap -sn 192.168.0.0/24 --exclude-file=/path/to/exclusion_list.txt ``` 这里分别演示了个别列举法以及文档加载机制两种实现途径下的实际应用场景实例。 ##### (三)深入探讨TCP SYN扫描机制 作为一种高效隐蔽的数据包交互策略,它仅发送初始化握手阶段的第一个部分即SYN标志位信号出去试探远程服务器状态反应情况而已。一旦接收到含有确认应答(ACK)标记的同时还携带着另一个相同类型的请求(SYN),那么就可以判定该通道处于开放可用之中;反之若是单纯回复拒绝连接指令(RST),意味着当前监听器并未启动工作;最后一种情形可能涉及到防火墙屏蔽拦截行为发生,则既无任何正面反馈也不会有任何否定消息传来。 下面给出一段简单的Python伪代码用来模拟这一现象描述逻辑关系图景: ```python import socket def syn_scan(target_host, port): try: s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP) packet = create_syn_packet(port) # Assume this function creates a valid TCP SYN packet sent = s.sendto(packet, (target_host, 0)) response = s.recvfrom(1024)[0] if is_syn_ack(response): # Function checks for SYN and ACK flags return 'Open' elif is_reset(response): # Function checks for RST flag return 'Closed' else: return 'Filtered' except Exception as e: return str(e) print(syn_scan('example.com', 80)) ``` 请注意以上仅为理论示意片段并不代表真实可执行语法正确性验证完毕后的最终形态。 #### 四、注意事项 尽管netcat(nc卡塔尔能够很好地扮演简易版客户端角色参与各类通信协议演练当中去,但在尝试一些特殊场景比如伪装DNS查询回应之类的任务时候可能会遇到困难状况出现。此时就需要额外附加重定向操作符配合系统自带的标准流设备共同协作才能达成预想效果[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值