QQ love member No. 3 seed player

know it then do it && APT086&QQ愛安全实验室成员

TCP/UDP-Notes

10 Jan 2019 » Notes

[TOC]

TCP/UDP 总结知识点

知名端口

系统程序所使用的端口号, 范围是0-1023

telnet 23

ftp 21

http 80

https 443

smtp 25

dns 53

DHCP 67

tftp 69

….

动态端口

动态端口的范围时 1024-65535,当服务或者程序关闭时也就释放了所占用的端口

1433 MSSQL 1521 Oracle 3306 MySQL 5432 PostgreSQL 6379 redis 27017 Mongodb 5000 DB2

4848 glassfish 7001 WebLogic 2601 zebra路由,默认密码zebra 3389 远程桌面 (shift 后门) 8080 apache tomcat 5900 vnc 虚拟网络控制台 11211 memcache未授权访问 2181 Zookeeper未授权访问

如何查看端口号

netstat -angrep “:8080” # 显示打开的端口所在协议

lsof -i :8080 # 显示对应端口的服务名称(所用程序)

netstat -anpgrep “:8080” # 查看上面两条命令的综合信息

提示:如果该服务不属于当前的用户,需要sudo权限(root)

UDP协议

UDP发送数据之前不需要建立连接

特点:
  1. 无连接
  2. 资源开销小
  3. 传输速度快
  4. udp每个数据包最大64k
优点:
  1. 传输速度快
  2. 不需要连接,资源开销小
缺点

传输数据不可靠,容易丢数据包

没有流量控制,当对方没有及时接受数据,发送方一直发送数据包会导致缓冲区数据溢出,电脑出现卡死情况,所有接受方需及时接受数据。

UDP 使用场景

当对网络通讯质量要求不高的时候,要求网络通讯速度尽量的快

例如 :

  1. 音视频传输
  2. 共享屏幕软件
  3. 发送广播消息

import socket

socket.socket(AddressFamily,Type)

AddressFamily:IP地址类型;AF_INET代表ipv4类型、AF_INET6表示ipv6类型;

Type:套接字类型,可以是SOCK_STREAM (流式套接字,主要用于TCP协议) 或

者 SOCK_DGRAM(数据报套接字,UDP协议)

TCP协议

面向连接

通信双方必须先建立连接才进行数据的传输,双方都必须为该连接分配必要的系统内核资源,以管理连接的状态和连接上的传输,双方间的数据传输都可以用过这一个连接进行,完成数据交换后,双方必须断开此连接,以释放系统资源,这种连接是一对一的,因此TCP不适合于广播的应用程序,基于广播的程序请使用UDP协议。

可靠传输

  1. tcp 采用发送应答机制

    tcp发送的每一条报文段必须得到接收方的应答才认为这个tcp报文段传输成功

  2. 超时重传

    发送端发出一个报文之后启动定时器,如果在定时时间内没有收到应答就重新发送这个报文段

  3. 错误效验

    检测数据到发送端到接收端之间是否有改动,直接丢弃这个数据包

  4. 流量控制和阻塞管理

    流量控制用来避免主机发送得过快而使接收方来不及完全收下。

TCP 优点

  1. 可靠、稳定
  2. 适合传输大量数据

TCP缺点

  1. 传输速度慢
  2. 占用系统资源高
TCP 和 UDP 区别
  1. TCP 面向连接,udp不会死面向连接
  2. TCP 提供可靠的数据传输,通过tcp传输的数据,无差错,不丢失,不重复且按序到达,udp不保证可靠的数据传输,容易出现丢包情况。
  3. TCP 需要连接传输速度慢,UPD不需要连接传输数据快
  4. TCP不支持发广播,UPD支持发广播
  5. TCP对系统资源要求较多,UDP适合发送少量的数据
  6. TCP适合发送大量的数据
  7. TCP有流量控制,UDP没有流量控制
TCP 使用场景

当对网络通讯质量有要求的时候,比如 HTTP,HTTPS,FTP等网络传输协议,POP,STMTP等邮件传输协议。

Related Posts