
网络
谁动了我的bug
不为失败找理由,只为成功找方法。
展开
-
常见Http协议状态?
200:请求被正常处理204:请求被受理但没有资源可以返回206:客户端只是请求资源的一部分,服务器只对请求的部分资源执行GET方法,相应报文中通过Content-Range指定范围的资源。301:永久性重定向302:临时重定向303:与302状态码有相似功能,只是它希望客户端在请求一个URI的时候,能通过GET方法重定向到另一个URI上304:发送附带条件的请求时,条件不...原创 2018-05-27 11:51:37 · 349 阅读 · 0 评论 -
udp绑定信息
1. 绑定信息一般情况下,在一台电脑上运行的网络程序有很多,而各自用的端口号很多情况下不知道,为了不与其他的网络程序占用同一个端口号,往往在编程中,udp的端口号一般不绑定但是如果需要做成一个服务器端的程序的话,是需要绑定的,想想看这又是为什么呢?如果报警电话每天都在变,想必世界就会乱了,所以一般服务性的程序,往往需要一个固定的端口号,这就是所谓的端口绑定2. 绑定示例#...原创 2018-11-28 08:33:34 · 551 阅读 · 1 评论 -
udp网络程序-端口问题
会变的端口号重新运行多次脚本,然后在“网络调试助手”中,看到的现象如下:说明:1)每重新运行一次网络程序,上图中红圈中的数字,不一样的原因在于,这个数字标识这个网络程序,当重新运行时,如果没有确定到底用哪个,系统默认会随机分配2)记住一点:这个网络程序在运行的过程中,这个就唯一标识这个程序,所以如果其他电脑上的网络程序如果想要向此程序发送数据,那么就需要向这个数字(即端口)标识...原创 2018-11-28 08:33:27 · 545 阅读 · 1 评论 -
udp网络程序-发送、接收数据
1. 创建udp网络程序-接收数据#coding=utf-8from socket import *#1. 创建套接字udpSocket = socket(AF_INET, SOCK_DGRAM)#2. 准备接收方的地址sendAddr = ('192.168.1.103', 8080)#3. 从键盘获取数据sendData = raw_input("请输入要发送的数据:...原创 2018-11-27 16:13:33 · 378 阅读 · 0 评论 -
udp网络程序-发送数据
创一个udp客户端程序的流程是简单,具体步骤如下:1. 创建客户端套接字2. 发送/接收数据3. 关闭套接字代码如下:#coding=utf-8from socket import *#1. 创建套接字udpSocket = socket(AF_INET, SOCK_DGRAM)#2. 准备接收方的地址sendAddr = ('192.168.1.103',...原创 2018-11-27 16:08:46 · 668 阅读 · 0 评论 -
udp介绍
UDP --- 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。UDP是一种面向无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地...原创 2018-11-27 16:00:40 · 489 阅读 · 0 评论 -
socket简介
1.本地的进程间通信(IPC)有很多种方式,例如1)队列2)同步(互斥锁、条件变量等)以上通信方式都是在一台机器上不同进程之间的通信方式,那么问题来了网络中进程之间如何通信?2. 网络中进程之间如何通信首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的。其实TCP/IP协议族已经帮我们解决了这个问题...原创 2018-11-27 15:52:23 · 231 阅读 · 0 评论 -
子网掩码
要想理解什么是子网掩码,就不能不了解IP地址的构成。互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于IP地址的寻址操作。IP地址的网络号和主机号各是多少位呢?如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现。子网掩码不能单独存在,...原创 2018-11-27 15:34:19 · 1607 阅读 · 0 评论 -
ip地址
1. 什么是地址 地址就是用来标记地点的2. ip地址的作用ip地址:用来在网络中标记一台电脑的一串数字,比如192.168.1.1;在本地局域网上是惟一的。3. ip地址的分类每一个IP地址包括两部分:网络地址和主机地址3.1 A类IP地址一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围1.0.0....原创 2018-11-27 15:11:14 · 641 阅读 · 1 评论 -
端口
1. 什么是端口那么TCP/IP协议中的端口指的是什么呢?端口就好比一个房子的门,是出入这间房子的必经之路。如果一个进程需要收发网络数据,那么就需要有这样的端口,在linux系统中,端口可以有65536(2的16次方)个之多,既然有这么多,操作系统为了统一管理,所以进行了编号,这就是 端口号2. 端口号端口是通过端口号来标记的,端口号只有整数,范围是从0到65535...原创 2018-11-27 14:59:27 · 449 阅读 · 0 评论 -
tcp/ip简介
作为新时代标杆的我们,已经离不开手机、离不开网络,对于互联网大家可能耳熟能详,但是计算机网络的出现比互联网要早很多1. 什么是协议有的说英语,有的说中文,有的说德语,说同一种语言的人可以交流,不同的语言之间就不行了为了解决不同种族人之间的语言沟通障碍,现规定国际通用语言是英语,这就是一个规定,这就是协议2. 计算机网络沟通用什么现在的生活中,不同的计算机只需要能够联网(有线...原创 2018-11-27 14:43:14 · 268 阅读 · 0 评论 -
udp网络通信过程
原创 2018-11-28 08:33:41 · 3195 阅读 · 1 评论 -
udp应用:echo服务器
1. 运行现象测试端echo服务器端2. 参考代码#coding=utf-8from socket import *#1. 创建套接字udpSocket = socket(AF_INET, SOCK_DGRAM)#2. 绑定本地的相关信息bindAddr = ('', 7788) # ip地址和端口号,ip一般不用写,表示本机的任何一个ipudpSocket....原创 2018-11-28 08:33:51 · 834 阅读 · 1 评论 -
udp应用:聊天室
1. 运行现象测试端聊天室端2. 参考代码#coding=utf-8from socket import *from time import ctime#1. 创建套接字udpSocket = socket(AF_INET, SOCK_DGRAM)#2. 绑定本地的相关信息bindAddr = ('', 7788) # ip地址和端口号,ip一般不用写,表...原创 2018-11-28 08:33:58 · 319 阅读 · 1 评论 -
Sokcet网络编程
什么是网络编程? 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据。 现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外一个,然后接收另一个设备的反馈。 在网络编程中,发起连接程序,也就是发送第一次请求的程序,被称...原创 2018-05-14 15:16:20 · 383 阅读 · 0 评论 -
小议DDoS攻击
先来说说近期发生的规模较大的 DDOS 攻击。全球最大同性交友网,没错,就是GitHub!美国东部时间 2 月 28 日,GitHub 在一瞬间遭到高达 1.35Tbps 的带宽攻击。这次 DDoS 攻击几乎可以堪称是互联网有史以来规模最大、威力最大的 DDoS 攻击了。在 GitHub 遭到攻击后,事件并没有停歇,仅仅一周后,DDoS 攻击又开始对 Google、亚马逊甚至 Pornhu...原创 2018-06-06 11:04:23 · 646 阅读 · 0 评论 -
应用:模拟QQ聊天
客户端参考代码#coding=utf-8from socket import *# 创建sockettcpClientSocket = socket(AF_INET, SOCK_STREAM)# 链接服务器serAddr = ('192.168.1.102', 7788)tcpClientSocket.connect(serAddr)while True: # 提...原创 2018-11-29 08:39:52 · 1132 阅读 · 0 评论 -
tcp客户端
tcp客户端,并不是像之前一个段子:一个顾客去饭馆吃饭,这个顾客要点菜,就问服务员咱们饭店有客户端么,然后这个服务员非常客气的说道:先生我们饭店不用客户端,我们直接送到您的餐桌上如果,不学习网络的知识是不是 说不定也会发生那样的笑话 ,哈哈所谓的服务器端:就是提供服务的一方,而客户端,就是需要被服务的一方tcp客户端构建流程tcp的客户端要比服务器端简单很多,如果说服务器端是需要自...原创 2018-11-29 08:39:44 · 513 阅读 · 0 评论 -
tcp服务器
生活中的电话机如果想让别人能更够打通咱们的电话获取相应服务的话,需要做一下几件事情:1. 买个手机2. 插上手机卡3. 设计手机为正常接听状态(即能够响铃)4. 静静的等着别人拨打tcp服务器如同上面的电话机过程一样,在程序中,如果想要完成一个tcp服务器的功能,需要的流程如下:1. socket创建一个套接字2. bind绑定ip和port3. listen使套接字...原创 2018-11-29 08:39:34 · 514 阅读 · 0 评论 -
tcp相关介绍
udp通信模型udp通信模型中,在通信开始之前,不需要建立相关的链接,只需要发送数据即可,类似于生活中,"写信""tcp通信模型udp通信模型中,在通信开始之前,一定要先建立相关的链接,才能发送数据,类似于生活中,"打电话"" ...原创 2018-11-29 08:39:26 · 189 阅读 · 0 评论 -
udp广播
现实生活中的广播网络编程中的广播#coding=utf-8import socket, sysdest = ('<broadcast>', 7788)# 创建udp套接字s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 对这个需要发送广播数据的套接字进行修改设置,否则不能发送广播数据s.setsoc...原创 2018-11-28 10:59:46 · 292 阅读 · 0 评论 -
应用:TFTP客户端
1. TFTP协议介绍TFTP(Trivial File Transfer Protocol,简单文件传输协议),是TCP/IP协议族中的一个用来在客户端与服务器之间进行简单文件传输的协议特点:1)简单2)占用资源小3)适合传递小文件4)适合在局域网进行传递5)端口号为696)基于UDP实现2. TFTP下载过程TFTP服务器默认监听69号端口;当客户端发送“下载”请...原创 2018-11-28 10:52:30 · 902 阅读 · 1 评论 -
wireshark抓包工具使用
1. 安装wireshark2. wireshark的使用原创 2018-11-28 10:27:19 · 429 阅读 · 0 评论 -
udp总结
1. udp是TCP/IP协议族中的一种协议能够完成不同机器上的程序间的数据通信2. udp服务器、客户端1)udp的服务器和客户端的区分:往往是通过请求服务和提供服务来进行区分2)请求服务的一方称为:客户端3)提供服务的一方称为:服务器3. udp绑定问题1)一般情况下,服务器端,需要绑定端口,目的是为了让其他的客户端能够正确发送到此进程2)客户端,一般不需要绑定,而...原创 2018-11-28 08:34:03 · 434 阅读 · 1 评论 -
网络通信概述
1. 什么是网络说明1)网就是一种辅助双方或者多方能够连接在一起的工具2)如果没有网络可想单机的世界是多么的孤单单机游戏(不能和远在他乡的朋友一起玩)2. 使用网络的目的就是为了联通多方然后进行通信用的,即把数据从一方传递给另外一方,前面的学习编写的程序都是单机的,即不能和其他电脑上的程序进行通信,为了让在不同的电脑上运行的软件,之间能够互相传递数据...原创 2018-11-27 14:31:57 · 354 阅读 · 0 评论 -
单进程服务器-gevent版-TCP服务器
import sysimport timeimport geventfrom gevent import socket,monkeymonkey.patch_all()def handle_request(conn): while True: data = conn.recv(1024) if not data: co...原创 2018-12-01 10:35:03 · 211 阅读 · 1 评论 -
协程-gevent版
greenlet已经实现了协程,但是这个还的人工切换,是不是觉得太麻烦了,不要捉急,python还有一个比greenlet更强大的并且能够自动切换任务的模块 gevent其原理是当一个greenlet遇到IO(指的是input output 输入输出,比如网络、文件操作等)操作时,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成,再在适当的时候切换回来继续执行。由于IO操...原创 2018-12-01 10:34:58 · 258 阅读 · 0 评论 -
tcp的2MSL问题
说明2MSL即两倍的MSL,TCP的TIME_WAIT状态也称为2MSL等待状态,当TCP的一端发起主动关闭,在发出最后一个ACK包后,即第3次握手完成后发送了第四次握手的ACK包后就进入了TIME_WAIT状态,必须在此状态上停留两倍的MSL时间,等待2MSL时间主要目的是怕最后一个ACK包对方没收到,那么对方在超时后将重发第三次握手的FIN包,主动关闭端接到重发的FIN包后可以再发一个...原创 2018-11-30 08:26:44 · 3249 阅读 · 0 评论 -
tcp十种状态
注意:1)当一端收到一个FIN,内核让read返回0来通知应用层另一端已经终止了向本端的数据传送2)发送FIN通常是应用层对socket进行关闭的结果原创 2018-11-30 08:26:38 · 264 阅读 · 0 评论 -
tcp四次挥手
原创 2018-11-30 08:26:31 · 214 阅读 · 0 评论 -
tcp三次握手
原创 2018-11-30 08:26:24 · 160 阅读 · 0 评论 -
交换机、路由器、服务器组网
1. 通信过程(pc+switch+router+server)较为复杂的通信过程如:访问 www.i-ronge.com注意:一定要配置1)PC:IP、NETMASK、DFGATEWAY、DNS2)ROUTER:IP、NETMASK、路由表总结1)DNS服务器用来解析出IP(类似电话簿)2)DFGATEWAY(默认网关)用来对顶,当发送的数据包的目的ip不是当...原创 2018-11-29 09:27:40 · 3794 阅读 · 0 评论 -
通过路由器组网
1. 路由器简介路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络所谓逻辑网络是代表一个单独的子网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成具有判断网络地址和选择IP路径的功能家用级:企业级:2. 通信过程(pc+switch+router)通过2个router,2个swi...原创 2018-11-29 09:22:46 · 1727 阅读 · 0 评论 -
通过交换机组网
1. 网络交换机介绍网络交换机(又称“网络交换器”),是一个扩大网络的器材,能为子网络中提供更多的连接端口,以便连接更多的计算机 具有性能价格比高、高度灵活、相对简单、易于实现等特点 以太网技术已成为当今最重要的一种局域网组网技术,网络交换机也就成为了最普及的交换机家用级:企业级:交换机的作用:1)转发过滤:当一个数据帧的目的地址在MAC地址表中有映射时,它...原创 2018-11-29 09:08:18 · 3072 阅读 · 0 评论 -
通过集线器组网
集线器又名hub1. 通过hub链接网络2. 总结1)hub(集线器)能够完成多个电脑的链接2)每个数据包的发送都是以广播的形式进行的,容易堵塞网络 ...原创 2018-11-29 08:53:56 · 1342 阅读 · 1 评论 -
2台电脑组网
1.在packet tracer中完成如下示图的操作原创 2018-11-29 08:49:51 · 572 阅读 · 0 评论 -
Packet Tracer 介绍&安装
1. Packet Tracer介绍Packet Tracer 是由Cisco(著名网络公司,思科)公司发布的一个辅助学习工具,为学习思科网络课程的初学者去设计、配置、排除网络故障提供了网络模拟环境。用户可以在软件的图形用户界面上直接使用拖曳方法建立网络拓扑,并可提供数据包在网络中进行的详细处理过程,观察网络实时运行情况。2. 安装学习网...原创 2018-11-29 08:39:58 · 1021 阅读 · 0 评论 -
tcp长连接和短连接
TCP在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立通过三次握手,释放则需要四次握手,所以说每个连接的建立都是需要资源消耗和时间消耗的。TCP通信的整个过程,如下图:1. TCP短连接模拟一种TCP短连接的情况:1. client 向 server 发起连接请求2. serve...原创 2018-11-30 08:26:50 · 1306 阅读 · 0 评论 -
listen的队列长度
服务器端运行#coding=utf-8from socket import *from time import sleep# 创建sockettcpSerSocket = socket(AF_INET, SOCK_STREAM)# 绑定本地信息address = ('', 7788)tcpSerSocket.bind(address)connNum = int(raw_...原创 2018-11-30 08:26:58 · 1020 阅读 · 0 评论 -
手动配置ip
1. 设置IP和掩码ifconfig eth0 192.168.5.40 netmask 255.255.255.02. 设置网关route add default gw 192.168.5.1原创 2018-11-30 08:27:05 · 1075 阅读 · 0 评论