《Python 黑帽子》学习笔记 - 网络基础1 - Day 2

本文是《Python 黑帽子》学习笔记,主要探讨网络基础和TCP的握手过程。介绍了网络协议的重要性,特别是TCP/IP协议,以及Python中socket模块在网络通信中的作用。文章详细阐述了TCP的三次握手过程,并提到了网络通信中数据的封装和应用。此外,还强调了在渗透测试中利用Python进行网络通信工具开发的价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不管是做软件开发还是信息安全,理解和用好 socket,是网络编程的基础,是编写与网络相关脚本工具的前提,本章使用 Python 的 socket 模块,创建 TCP 和 UDP 服务端及客户端。并实现了 netcat,TCP 代理等工具,是学习后续知识的铺垫。

作者提到,在目标网络环境下,可能没有开发环境,甚至不会有互联网条件,但是如果目标安装了 Python,利用 Python 随时创建网络通信工具,在内网环境下进行渗透测试,是一个可行的办法。另外,用 Python 开发渗透测试脚本,最重要是为了侦察和攻击的“短平快”,应该简单处理套接字阻塞、套接字异常等问题,注重实现功能,针对性强,弱化开发设计的全面性。

在实现这些工具之前,有必要对网络基础和 Python 的 socket 模块做些更深入的理解,知其所以然,也是补充自己的知识盲点。之后丰富下书中的代码,学以致用。

网络编程基础

互联网的本质就是一系列统一标准的网络协议,就像不同国家的人用英语作为交流的统一标准,网络编程就是按照这些标准的协议规则解决网络通信的问题。按照功能不同,网络协议中最重要的是 OSI 七层协议,或 TCP/IP 五层/四层 协议。

维基上有张图,很好的解释了在网络上的两个主机是如何通信的。

network topolog and data flow

Two Internet hosts connected via two routers and the corresponding layers used at each hop. The application on each host executes read and write operations as if the processes were directly connected to each other by some kind of data pipe. Every other detail of the communication is hidden from each process. The underlying mechanisms that transmit data between the host computers are located in the lower protocol layers.

借助 bing 翻译下,网络上的两个主机是通过两个路由器,以及每个跃点相对应的层进行通信的。每个主机上的应用程序执行读写操作, 就好像进程是通过某种数据管道直接连接到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值