当前位置: 首页 > news >正文

自学渗透测试第四天(TCP/IP模型与网络命令)

第2章 网络基础与协议分析(第4–6天)

2.1 TCP/IP模型与网络命令(第4天)

核心目标
  1. 理解网络通信原理:掌握TCP/IP四层模型,深入理解数据封装、解封装过程及关键网络协议的作用。

  2. 掌握网络诊断与配置:熟练使用ifconfig/ipnetstat/sspingtraceroutenslookup/dignetdiscoverarp等命令进行网络信息收集、连通性测试和故障排查。

  3. 应用网络层信息收集:能将网络命令灵活运用于渗透测试的信息收集阶段,识别目标网络结构、活动主机、开放端口及服务。

模块一:TCP/IP网络模型深度解析
1.1 网络模型概述
  • OSI七层模型(理论框架)TCP/IP四层模型(实际标准)的对应关系。

  • 数据封装与解封装:理解数据从应用层到网络接口层的打包(添加头部)和反向的拆包过程,这是网络通信和协议分析的基础。

1.2 核心协议详解
  • 网络接口层

    • 以太网帧:源/目的MAC地址、类型字段。

    • ARP:将IP地址解析为MAC地址。arp -a查看本地ARP缓存,ARP欺骗是中间人攻击的基础。

  • 网络层

    • IP协议:无连接、不可靠。IPv4地址结构、子网掩码、IPv6简介。

    • ICMP协议:用于网络诊断。pingtraceroute命令的核心。

  • 传输层

    • TCP:面向连接、可靠传输。三次握手(SYN, SYN-ACK, ACK)、四次挥手。端口状态:LISTEN,ESTABLISHED,TIME_WAIT

    • UDP:无连接、高效。适用于DNS、DHCP、视频流等。

  • 应用层

  • DNS:域名解析。记录类型:A, AAAA, CNAME, MX, TXT。

  • HTTP/HTTPSFTPSSH等。

模块二:网络配置与接口管理
2.1 接口与地址管理
  • ifconfig(传统) 与ip(现代) 命令

    # 查看所有网络接口信息 ifconfig ip addr show # 启用/禁用接口(网卡) sudo ip link set eth0 up sudo ip link set eth0 down # 配置IP地址 sudo ip addr add 192.168.1.100/24 dev eth0 注#dev固定语法,指定要绑定的网卡 # 查看路由表 ip route show route -n
2.2 MAC地址操作
  • 查看与修改MAC地址

    ip link show eth0 # 查看MAC sudo ip link set dev eth0 address 00:11:22:33:44:55 # 临时修改MAC(需先down接口)
  • 渗透测试应用:绕过基于MAC地址的过滤,维持匿名性。

模块三:网络探测与诊断命令
3.1 连通性测试
  • ping:发送ICMP Echo请求,测试主机可达性。

    ping -c 4 8.8.8.8 # 发送4个包 ping -i 0.5 192.168.1.1 # 间隔0.5秒发送 ping -s 1000 目标 # 指定数据包大小
3.2 路径追踪
  • traceroute/tracepath/mtr:追踪数据包到达目标经过的每一跳路由。

    traceroute -n google.com # -n 不解析主机名,显示IP mtr google.com # 实时动态追踪,结合ping功能
3.3 域名解析
  • nslookup(交互/非交互) 与dig(更强大):查询DNS记录。

    nslookup google.com nslookup -type=mx google.com dig google.com dig google.com ANY # 查询所有记录 dig @8.8.8.8 google.com # 指定DNS服务器 dig -x 8.8.8.8 # 反向DNS查询
3.4 网络发现
  • netdiscover:主动/被动ARP侦查工具,发现局域网内存活主机。

    sudo netdiscover -i eth0 -r 192.168.1.0/24 # 主动扫描网段 sudo netdiscover -p -i eth0 # 被动监听模式 注:#-i指定对应的网卡;-r指定对应的网段范围;-p:将ARP侦察改为被动模式信息收集。
  • arp-scan:快速ARP扫描。

    sudo arp-scan --localnet
模块四:端口、连接与套接字管理
4.1 端口与服务查询
  • netstatss:查看网络连接、路由表、接口统计、伪装连接等。

    ss -tulnp # 查看所有监听端口(TCP/UDP)及进程 netstat -ano # Windows风格,查看所有连接和PID
4.2 防火墙规则(初步)
  • iptables基础查看

    sudo iptables -L -n -v # 列出所有规则
模块五:当日达标实战任务
5.1 网络信息收集
  1. 主机发现:使用netdiscoverarp-scan,探测你所在局域网(如192.168.1.0/24)中的所有存活主机,记录其IP和MAC地址。

    #使用netdiscover工具 sudo netdiscover -r 192.168.1.0/24 #使用arp-scan工具 sudo arp-scan -I eth0 192.168.1.0/24 # 虚拟机常用: sudo arp-scan -I ens33 192.168.1.0/24
  2. 端口发现:在Kali上,使用ss -tulnp命令,列出本机所有监听端口,并记录每个端口对应的协议、进程名和PID。

    ss -tulnp
5.2 网络诊断与追踪
  1. 连通性分析:使用ping命令测试到8.8.8.8baidu.com的连通性,记录延迟和丢包率。

    ping 8.8.8.8 ping baidu.com
  2. 路径追踪:使用traceroute -n追踪到github.com的路由路径,记录经过的网关IP,并判断是否存在异常跳点。

    sudo traceroute -n github.com
  3. DNS侦查:使用dig命令,查询target.com的A记录、MX记录和TXT记录,并尝试进行域传送攻击测试(dig axfr @ns1.target.com target.com)。

    dig target.com # 先查真实 NS 服务器 dig target.com NS # 再对真实 NS 进行域传送测试 dig axfr @ns1.xxx.com target.com
5.3 综合场景:绘制简易网络拓扑
  1. 假设你已获得授权,对172.16.100.0/24网络进行探测。请设计一套命令组合,依次实现:发现存活主机 -> 对发现的IP进行端口扫描(用nc -zv快速扫描常见端口) -> 对开放80端口的Web服务器进行DNS解析查询。将结果整理成报告。

    #如下是个人觉得较好的一种方法 #主机发现 sudo arp-scan -I ens33 172.16.100.0/24 sudo netdiscover -r 172.16.100.0/24 #端口扫描 nc -zv 172.16.100.10 21 22 80 443 8080 #DNS解析 nslookup 172.16.100.10 dig -x 172.16.100.10
模块六:常见问题与解决方案
6.1 命令输出与理解
  • ping命令显示“Destination Host Unreachable”:表示本地路由表中没有到达目标网络的路由,或ARP解析失败。

  • traceroute输出全是\*:中间路由或目标主机禁用了ICMP响应。可尝试使用TCP/UDP协议的追踪(如traceroute -T -p 80)。

6.2 权限与操作
  • netdiscoverarp-scan需要root权限:网络底层扫描需要发送原始帧,务必使用sudo

  • 修改IP或MAC地址后网络断开:检查IP是否与网络冲突,修改MAC地址可能导致某些网络认证失效,重启网络服务或恢复原MAC。


明日预告:第5天将深入HTTP/HTTPS协议,学习Web请求/响应的结构、方法、状态码、Cookie、会话,并使用Wireshark进行实际抓包分析,为Web渗透测试打下坚实基础。

———————————————————————————————————————————

免责声明
本技术分享内容仅供学习和交流目的,不构成任何形式的专业建议或承诺。

分享者不对因使用或参考本内容而导致的任何直接或间接损失或损害承担责任。

网络安全技术涉及潜在风险,请在合法授权范围内谨慎操作,遵守相关法律法规。

读者应自行评估技术适用性,并在实际环境中采取必要的安全措施。

版权声明
未经许可,不得擅自修改、转载或用于商业用途。

http://www.jsqmd.com/news/560945/

相关文章:

  • Qt QTableWidget高级功能实战:从数据绑定到动态交互
  • 3种方法让VR视频在普通屏幕重生:告别设备依赖的沉浸式体验方案
  • RevokeMsgPatcher:PC端即时通讯防撤回解决方案的技术解析与实践指南
  • 利用nli-distilroberta-base增强数据库查询:智能语义匹配实战
  • CELLxGENE单细胞数据分析工具:从入门到精通的完整指南
  • OpenClaw技能市场巡礼:GLM-4-7-Flash十佳实用自动化模块推荐
  • 解决 vLLM 启动时 “Free memory on device cuda:0 is less than desired GPU memory utilization” 错误
  • 前端实战:如何高效实现Blob与URL互转及文件流预览下载
  • Qwen3-1.7B新手避坑指南:GPU选择、环境配置、常见错误全解析
  • 跨平台字体一致性解决方案:PingFangSC苹果平方字体全解析
  • 第16课:用阻塞 IO 打通等待队列、中断唤醒与按键事件
  • MelonLoader能解决什么问题?3分钟上手的Unity游戏模组加载工具
  • imx6ull移植ncnn框架并运行yolo11目标检测模型(2)移植ncnn致imx6ull并成功跑通例程
  • Fast-F1实战指南:如何用Python构建专业的F1数据分析系统
  • BepInEx全流程指南:从环境适配到插件开发
  • C语言真的过时了吗?看排行榜就懂了
  • 革新性植物大战僵尸辅助工具:PVZ Toolkit的全场景应用解析
  • 高效压缩qcow2镜像的三种方法及性能影响分析
  • 防脱精华液功效深度测评:从强韧发根到促进新生 - 博客万
  • Torch-Pruning支持神经辐射场(NERF):3D重建模型压缩终极指南
  • 每日算法题 20---206.反转链表
  • 面试必备之项目细节技能参考
  • LoRaWAN节点功耗优化指南:从扩频因子选择到上报周期设置的7个技巧
  • 提升Blender创作效率的终极资源指南:从新手到专家的完整解决方案
  • 外贸AI营销平台怎么选?从AI出海提效系统到海外市场AI推广平台,这几家值得关注(附带联系方式) - 品牌2026
  • 当电力系统遇上MATLAB:手把手玩转SVC设计
  • IFN-γ蛋白在CAR-T治疗中的双重作用研究
  • 【从零开始】手写BLE协议栈(4-2)高精度调度器
  • PicView图片浏览器完全指南:从零开始掌握高效图片管理
  • 深入QNN SDK:从动态库加载到模型执行,一次搞懂qnn-sample-app的核心工作流