跳至主要内容

网络编程之认识网络协议

http://ift.tt/2eDvKc7

网络协议

  1. ARP协议
    1. 地址解析协议
    2. 位于链路层
    3. 根据ip获取mac地址

    4. ARP缓存中毒
      1. 只要有人回复,就会把ip和mac地址链接在一起
      2. 中间人攻击
      3. 只能在局域网下使用,在广域网下不能使用
  2. IP协议
    1. 是一个32位的数值
    2. 网络地址
    3. 主机地址
    4. 特殊的ip地址
      1. 127.0.0.1 本机的回送地址
      2. 0.0.0.0 当前主机
      3. 1,255.255.255.255 当前子网的广播地址,最后面带255的都是广播地址
      4. 最后一位是1的,网关地址
  3. ICMP协议
    1. 用来做差错控制
      1. 在ip主机和路由器之间控制消息
    2. 分为两类
      1. 查询报文
      2. 差错报文
  4. TCP协议:传输控制协议
    1. 为数据提供可靠的端到端的传输
    2. 能够处理数据的顺序和错误恢复,能够保证数据能够到达应改到达的地方
    3. 会使用端口来标识应用程序
    4. 提供流量控制
  5. UDP协议
    1. 是一种无连接的传送层协议, 提供不可靠的传输服务
    2. UDP的特点
      1. 提供无连接服务
      2. 不能确保UDP数据报最终到达目的地
      3. UDP的传输速度把TCP快,占用系统资源少
  6. HTTP协议:超文本传送协议
    1. 特点:
      1. 简单方便
        1. 客户向服务器请求服务的时候,只需要传送请求方法和路径
          1. 常用的请求方法有
            1. post
            2. get
            3. head
      2. 灵活
        1. http允许任意类型的数据对象
      3. 无连接,无状态
        1. 无连接的含义就限制每次链接只处理一个请求
          1. 服务器处理完用户的请求,并且收到用户发过来的确认应答后,就会断开链接
            1. 这样可大大的节省传输时间
        2. 无连接就意味着无状态
          1. 就是服务器不能够保存上次请求的状态
          2. 如果这条状态需要处理上一条的信息,则需要把上次的信息重新发送一遍
            1. 这就导致了每次发送的数据量较大
            2. 一般来说,服务器为每一个登录用户维持一个session来记忆状态
          3. http1.1 之后,引入了持久链接(presitent connetcion),默认tcp不关闭
            1. 默认声明字段 connetciton :keep-alive

           
           

       
       

The post 网络编程之认识网络协议 appeared first on cole.

http://ift.tt/2j0kb3E internet September 06, 2017 at 10:41AM

评论

此博客中的热门博文

反Hook 之自己实现GetProcAddress和LoadLibraryA(c++ version)

http://ift.tt/2AocAD0 // 课上练习.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <windows.h> //要实现的功能: /* 自己实现GerProcAddress LoadLibraryA */ //思路: /* GerProcAddress和LoadLibraryA都是在Kernel32.dll中的 首要的任务就是找到Kernel32.dll,然后遍历IAT就能找到这两个函数 现在首要的难点就是如何找到kernel32.dll() 通过dll的加载顺序可以找到,而且虽然需要使用未文档化的API,但是好在windgb可以直接看,而且用到的也并不是很多 懒得去晚上搜了,直接自己实现一个得了,作为演示,能用就行(最好还是搜一个正规的结构体) */ /* 0: kd> dt _TEB /a nt!_TEB +0x000 NtTib : _NT_TIB +0x01c EnvironmentPointer : Ptr32 Void +0x020 ClientId : _CLIENT_ID +0x028 ActiveRpcHandle : Ptr32 Void +0x02c ThreadLocalStoragePointer : Ptr32 Void +0x030 ProcessEnvironmentBlock : Ptr32 _PEB //首先实现部分TEB结构体,因为只需要用的PEB的部分,所以实现到这就ok了 */ //构建 TEB typedef struct _TEB { //保证0x30是peb的结构体就ok了 struct _tem { DWORD a1; DWORD a2; DWORD a3; DWORD a4; DWORD a5; DWORD a6; DWORD a7; DWORD a8; DWORD a9; DWORD a10; ...

32位ARM汇编语言(四)数据处理指令

http://ift.tt/2Gwa4v5 基本指令介绍 数据传送指令 比较指令 cmp{条件}操作数1,操作数2 CMN{条件}操作数1,操作数2 TST{条件},操作数1,操作数2 TEQ{条件} 操作数1,操作数2 算数逻辑运算指令 ADD{条件}{S}目的寄存器,操作数1,操作数2 ADC{条件}{S}目的寄存器,操作数1,操作数2 RSB{条件}{S}目的寄存器,操作数1,操作数2 RSC{条件}{S}目的寄存器,操作数1,操作数2 AND{条件}{S}目的寄存器,操作数1,操作数2 EOR{条件}{S}目的寄存器,操作数1,操作数2 BIC{条件}{S}目的寄存器,操作数1,操作数2 基本指令介绍 数据传送指令 数据传送指令用于在寄存器和储存器中之间进行数据的双向传输 比如:MOV ,MVN 算数逻辑运算指令 完成常用的算术与逻辑运算,该类指令不但将运算结果保存在目的寄存器中,同时更新CPSR中相应条件表示位 比如:ADD,ADC,SUB,SBC,RSB,RSC,AND,ORR,EOR,BIC 比较指令 不保存运算结果,只更新CPSR中相应的条件标志位 比如:CMP,CMN,TST,TEQ 数据传送指令 指令 描述 MOV{条件}{S}目的寄存器,操作数 数据传送指令 MVN{条件}{S}目的寄存器,操作数 数据取反传送指令 {S}选项决定指令的操作是否影响CPSR中条件标志位的值 MVN与MOV不同之处是在传送之前按位被取反 __asm__ ("mov ri,r0“); //将寄存器R0的值传送到寄存器R1 __asm__(”mov r1,r0,lsl#3"); //将寄存器R0的值左移3位后传到R1 __asm__(“mov pc,lr"); //将寄存器lr的值传送到pc,常用于子程序返回 __asm__("mvn r0,#0”); // 将立即数0 取反传送到寄存器R0中,完成后R0=-1 比较指令 指令 描述 CMP{条件}操作数1,操作数2 比较指令 CMN{条件}操作数1,操作数2 比较反值指令 TST{条件...

RS232 学习笔记

https://ift.tt/2zh0MU7 什么是RS232 RS232的传输方式 RS232的分类 数据终端设备:DTE(Data Terminal Equipment) 数据通信设备:DCE:Data Communication Equipment 常见的管脚接口和脚位的意义 发展 RJ-45接口和DB-9 Console 及DB-9 Modem接口的对应关系 9针串口 各脚位的意义 常见的串口设置 波特率(Bps) 数据位(Data Bits) 奇偶校验(Parity) 停止位(Stop Bits) 流量控制 什么是RS232 RS232 是 美国电子工业联盟 指定的串行通信的接口标准。 原始编号全称是EIA-RS-232(简称232,RS232)。他被广泛用于计算机串行接口外设连接。 RS232 标准的全称是EIA-RS-232C标准,其中EIA代表美国电子工业联盟,RS(Rrcommand Standard)代表推荐标准,232是标识号,C代表232的第三次修改。 RS232的传输方式 在rs232标准中,字符是以一串行的比特串来一个接一个断点以串列(serial)的方式传输的(所以又叫串口)。 优点 传输线少,配线简单,发送距离可以较远 最常见的编码格式是异步起停( Asynchronous Start-stop )格式,它使用一个起始比特后面紧跟7个或8个数据比特(bit),然后是奇偶校验比特,最后是一个或两个停止比特。所以发送一个字符至少需要10比特,带来的效果是使全部的传输速率,发送信号的速率以10划分。 一个最平常的代替异步起停的方式是使用高级数据链路控制协议(HDLC)。 RS232在设计之初就是用来连接调制解调器做传输之用的,也因此它的脚位意义通常和调制解调器传输有关。 RS232的分类 根据不同的线路用来发送和接受信号的不同,妇女为 数据终端设备:DTE(Data Terminal Equipment) 计算和终端设备有DTE连接器 数据通信设备:DCE:Data Communication Equipment 调制解调器和打印机有DCE连接器 不是很准确, 但是可以大概分为这两类 常见的管脚接口和脚位的意义 发展 RS232...