网络骇客入门之网络编程(一):网络应知应会

一、计算机网络在设计之初就决定了它结构简单,传输可靠的特点,除此之外,它还能连接不同种类的计算机

在网络上,各个节点同等重要且必须有冗余路由

二、网络在理论上被分为七层,从下到上,物理层,数据链路层,网络层,传输层,会话层,表示层,应用层

在实际的应用上分为四层,即:链路层,网络层,传输层,应用层

链路层:设备之间(如网卡,交换机)数据帧的传输

链路层就是保证设备之间能互联互通

网络层:主机之间(如路由器)数据包的传输

网络层就是保证每个数据包能够到达目的主机,常用协议如IP网际协议,ICMP网际控制报文协议,IGMP网际组管理协议等

传输层:不同主机上进程之间的数据传输

通过socket套接字进行网络上不同主机的进程间通信,常用协议如TCP(传输控制)协议,UDP(用户数据报)协议

应用层:应用程序间(QQ,微信)通信

应用程序之间通过端口实现数据传输,协议如FTP文件传输协议,TFTP简单文本传输协议,Telnet远程登入,HTTP超文本传输协议

三、TCP协议--一个工作在传输层,面向连接的网络通信协议

它为不同主机上的进程间通信提供服务,通常下载文件,视频,发邮件都是用TCP协议

特点:

1.面向连接,每一次通信都有建立-使用-释放连接的过程

2.安全可靠但是效率略低

3.目的主机必须回复确认,否则数据包会重传(DOS/DDOS***的理论基础)

4.数据包的顺序和内容保持一致

5.完善的错误检查和重传机制

6.每一个数据包都包含序号和确认序号

7.不支持广播和多播

四、UDP协议--一个工作在传输层,面向无连接的网络通信协议

它和TCP一起为不同主机上的进程间通信提供服务,通常在线看视频(RTP流媒体服务),ARP广播,DHCP,NTP,DNS用的都是UDP协议

特点:

1.面向无连接,每一次通信都不建立连接

2.相对不可靠但是效率高

3.不检查数据包的顺序

4.没有完善的错误检查和重传机制

5.每一个数据包都包含序号和确认序号

6.支持广播和多播

五、IP地址分类

A:0.0.0.1~126.255.255.254    共有2的24次方减2个IP地址

第一位为0,  127.x.x.x也属于A类地址但是被用于本地回环

B:128.0.0.1~191.255.255.254    共有2的16次方减2个IP地址

前两位为10

C:192.0.0.1~223.255.255.254    共有2的8次方减2个IP地址

前三位为110

D:224.0.0.1~239.255.255.254    多播地址

前四位为1110

E:保留地址

六、端口与端口号(传输层标识)

端口可以形象地理解为电脑的窗户,电脑程序就是通过端口互相通信的

TCP/IP协议采用端口标识通信的进程,区分一个系统里的多个进程

每一个运行的网络程序都有一个进程号(PID)和至少一个端口号(Port)

因为进程号是系统随机分配的,并且不能用来收发数据,所以用端口号标识网络进程

端口号为无符号短整型数(0~65535)0号端口不能使用,1~1023为已知端口,一些基础应用程序如FTP-21,HTTP-80,TFTP-69,XSHELL-22等已经占用了

TCP和UDP维护各自独立的端口号,它们都有65536个端口

七、字节序

指多字节(两个字节以上)数据的存储顺序,分为小端格式和大端格式

小端格式将低字节数据存储在低地址,大端格式将低字节数据存储在高地址

通常个人电脑的字节序都是小端格式,但是在网络上通信的字节序为大端格式

所以异构计算机之间通信要把自己的字节序转换为网络字节序

转载于:https://blog.51cto.com/13603157/2090858

网络骇客入门之网络编程(一):网络应知应会相关推荐

  1. 网络推广客服话术大全,网络客服推广怎么做

    客服话术沟通技巧 客服话术沟通技巧如下: 1.不以自我为中心. 别常常用命令的语气去和别人说话,不是谁都喜欢你这样的语气,让别人去做某件事,要说"请",这样会显得你有教养,别人感觉 ...

  2. Python网络爬虫从入门到实践 -- chapter 1 -- 网络爬虫入门

    1 Robots协议 Robots协议(爬虫协议)全称网络爬虫排除标准,网站通过Robots协议告诉搜索引擎哪些页面可以抓取(Allow:/),哪些不能抓取(Disallow:/).这个协议是国际互联 ...

  3. Tkinter编程应知应会(20)-主菜单

    菜单是GUI程序的常用控件之一,本文说明Tkinter中如何使用菜单.还是先看示例视频: 视频链接 视频中的小程序是在之前的Text控件示例程序的基础上修改而成的,功能基本一致,只是增加了菜单操作的功 ...

  4. Tkinter编程应知应会(22)-Canvas控件

    大部分情况下,使用控件就可以满足简单程序的需求,但是总会存在某些场景需要自己绘制一些内容,这时就需要使用Canvas控件了.例如下面的围棋表示程序. 以下结合这个实例说明Canvas控件的基本用法. ...

  5. 编程界“网络工程师”都用过的Python学习教程+PDF电子版曝光了

    编程界"网络工程师"都用过的Python学习教程+PDF电子版曝光了 网络工程师是通过学习和训练,掌握网络技术的理论知识和操作技能的网络技术人员.网络工程师能够从事计算机信息系统的 ...

  6. 网络编程懒人入门(二):快速理解网络通信协议(下篇)

    1.前言 本文上篇<网络编程懒人入门(一):快速理解网络通信协议(上篇)>分析了互联网的总体构思,从下至上,每一层协议的设计思想.基于知识连贯性的考虑,建议您先看完上篇后再来阅读本文. 本 ...

  7. 网络编程懒人入门(一):快速理解网络通信协议(上篇)

    1.写在前面 论坛和群里常会有技术同行打算自已开发IM或者消息推送系统,很多时候连基本的网络编程理论(如网络协议等)都不了解,就贸然定方案.写代码,显得非常盲目且充满技术风险. 即时通讯网论坛里精心整 ...

  8. [Python从零到壹] 四.网络爬虫之入门基础及正则表达式抓取博客案例

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  9. c#使用正则表达式获取TR中的多个TD_[Python从零到壹] 四.网络爬虫之入门基础及正则表达式抓取博客案例...

    首先祝大家中秋节和国庆节快乐,欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都 ...

  10. python编程入门到实践 百度云-python网络爬虫从入门到实践pdf

    python网络爬虫从入门到实践pdf是一本非常热门的编程教学.这本书籍详细讲解了Python以及网络爬虫相关知识,非常适合新手阅读,需要的用户自行下载吧. Python网络爬虫从入门到实践电子书介绍 ...

最新文章

  1. 【Qt】使用sqlite3数据库时,主键自增和获取自增后的主键的
  2. 在可编辑表格EditorGrid中,我选择一行已输入的数据,点击删除按钮,该行数据将被删除,然后当我点击表单提交按钮时,已经被删除的那一行数据仍然被插入数据库中...
  3. Python 字符串笔记(转自木木)
  4. 详解 Spring 3.0 基于 Annotation 的依赖注入实现--转载
  5. java字符串替换标点符号_替换/忽略字符串java中的标点符号
  6. Verilog_寻找最高有效位的位置
  7. win7rc 序列号- 10/21之前
  8. SpringMVC总结帖
  9. .NET Core CLI 的性能诊断工具介绍
  10. 消息中间件ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ、Kafka如何选型
  11. 【译】索引进阶(十一):SQL SERVER中的索引碎片【上篇】
  12. python pandas教程百家号_Pandas 常见的基本方法
  13. canvas笔记-文本水平垂直对齐与度量
  14. sql连表查询找不到关联字段时?
  15. [EMNLP2017]Global Normalization of Convolutional Neural Networks for Joint Entity and Relation(阅读笔记)
  16. dsp处理浮点数_DSP学习笔记(二)——DSP中浮点数与定点数格式与运算处理
  17. 洛谷P3369 AVL树
  18. 商业研究(5):宠物服务市场-概览
  19. 泛在传感器网络(Ubiquitous Sensor Network; USN)
  20. Mysql5.7 windows 下压缩包方式安装以及环境配置

热门文章

  1. pyhanlp 繁简转换,拼音转换与字符正则化
  2. 张掖百公里,再次折戟
  3. 汇率换算(android安卓版)
  4. ts类中的private和protected
  5. SVN更新报the working copy needs to be upgraded解决办法
  6. datawhale8月组队学习《pandas数据处理与分析》(下)(文本、分类、时序数据)
  7. Dev C++源代码未编译
  8. 示波器电流探头可分为无源和有源两类,它们的区别是什么?
  9. 手机取证设备(手机点验设备、手机合规检测、双路并行手机取证深度分析系统、手机点验数据恢复)
  10. HTML+CSS期末网页课设——游戏宣传网页(全部源码)