码迷,mamicode.com
首页 > 其他好文 > 详细

1.tcp协议 三次握手建链接 四次挥手断开链接 tcp协议的状态 syn洪水攻击与半连接池 互联网协议详解 3. socket介绍 4. 基于socket来编写C/S架构的软件

时间:2018-08-29 21:25:41      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:upper   攻击   phone   计算机   七层   png   技术分享   byte   应用   


网络=底层的物理连接介质+互联网协议(就是计算机界的英语)

OSI七层

应用层(应用层\表示层\会话层):http,ftp
传输层:tcp/udp
网络层:ip
数据链路层:ethernet
物理层:发送电信号

 

1、 互联网协议,可看作是一个安装在计算机上的包

2、 交换机:有mac地址学习功能

3、 ARP(地址解析协议),可将IP地址转成mac地址,mac地址转成IP地址

4、 IP+端口可锁定一架计算机上的某个应用程序

5、 IP 和子网掩码-》局域网地址(子网地址)

6、  TCD又称好人协议,可靠协议,需要三次握手建立链接

7、 标志位:sgn=1请求信息,ack=1 确认信息,seq=’ ’序列号,ack=1+x(序列号)

8、 在创建链接时如果并发少,基本看不多SYN—REVD。但如若受到洪水攻击(高并发)系统会出现SYNREVD状态

9、 TCD需要四次挥手以断链接。谁先发完信息,谁先发出断链接请求。通常是SERVER端先发出,但不一定。

10、fin=1 断链接请求,ack=1 确认信息

11、Fin_WAIT_1 为主动断链接的一方

12、在断链接时如果并发少,基本看不多TIMEWAIT。但如若高并发,系统会出现TIMEWAIT状态,需要监查内存

13、TCP,需要建链接,又称可靠传输,相对安全但效率低,一般用于转账

14、UDP,不需要建链接,又称不可靠传输,效率高,但安全性较低,一般用于聊天(QQ)和查询

15、套接字有被称作IP和端口

16、AF_INET AFaddress family 套接字类型,INET:基于网络)

17、TCP 被称为流式协议,SOCK_STREAM

18、UDP 被称为数据报协议,SOCK_DGRAM

19、127.0.0.1 指本机,主要用于调试

20、端口0-65535,0-1024被系统使用,其他号码可选用

21、phone.listen(5): 5指的是同时最多可以用多少个请求,而不是连接数

22、conn.recv(1024):1024为最大限制的字节数

23、conn为套接字对象,为三次握手的产物,可收可发

24、conn.close():回收系统资源

 

 技术分享图片

 

 

 

 

服务端:

import socket

#1.买手机
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #SOCK_STEAM=>TCP流式协议,
print(phone) #是用来接收链接请求,从而建立链接的

# phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# print(phone)


#2.插手机卡
phone.bind((‘127.0.0.1‘,8080)) #0-65535

#3.开机
phone.listen(5) # 同一时刻最大请求数为5个

print(‘start....‘)
#4.等待电话请求
conn,client_addr=phone.accept() #(双向链接的套接字对象,存放客户端ip和端口的小元组)
# print(conn) # conn代表双向链接,用来收发消息
# print(client_addr)

#5.收\发消息
data=conn.recv(1024) #1024接收的最大字节数bytes
print(‘收到客户的数据‘,data)
conn.send(data.upper())

#6.挂电话链接
conn.close()

#7.关机
phone.close()



客户端:

 

import socket

#1.买手机
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #SOCK_STEAM=>TCP流式协议,

#2.拨号
phone.connect((‘127.0.0.1‘,8080))

#3.发\收消息
phone.send(‘hello‘.encode(‘utf-8‘)) # 只能发bytes类型
data=phone.recv(1024)
print(‘收到服务端的消息: ‘,data)

#4.挂电话链接
phone.close()

 

1.tcp协议 三次握手建链接 四次挥手断开链接 tcp协议的状态 syn洪水攻击与半连接池 互联网协议详解 3. socket介绍 4. 基于socket来编写C/S架构的软件

标签:upper   攻击   phone   计算机   七层   png   技术分享   byte   应用   

原文地址:https://www.cnblogs.com/huangchaonan/p/9556644.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!