一、IP地址

就像每个人都有一个身份证号码 IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址。

查看IP命令:

Windows: ipconfig
Linux: ifconfig

Python练习:检查字符串是否ip

 1 def is_ip(ip):
2 num_list = ip.split(".")
3 for num in num_list:
4 if not num.isdigit() or not 0 <= int(num) <=255:
5 return False
6 return True
7
8
9 print(is_ip("101.1.0.201"))
10 print(is_ip("1011.1.0.201"))
C:\Users\yzp\PycharmProjects\auto_test\Scripts\python.exe D:/00test/auto_test/IsIP.py
True
False Process finished with exit code 0

二、端口

"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。 如果把IP地址比作一间房子,端口就是出入这间房子的门。一个IP地址的端口可以有65536(即:

2^16)个 端口类型。

  • 公认端口:从0到1023,紧密绑定于一些服务
  • 注册端口:人1024到49151,许多服务绑定这些端口,这些端口同样用于许多其它目的。
  • 动态或私有端口:从49152到65535。理论上,不应为服务分配这此端口。实际上,机器通常从1024起分配动态端口。 常见软件默认端口
  • Apache/Nginx(HTTP服务): 80
  • Tomcat: 8080
  • Oracle: 1521
  • MySQL: 3306
  • SQL Server: 1433
  • PostgreSQL: 5432
  • MongoDB: 27017
  • Redis: 6379
  • Memcached: 11211

查看端口命令

Windows: netstat -ano
Linux: netstat -ntlp

解决端口占用问题

Windows: netstat -ano | findstr "8080",找到占用端口的程序的PID -> 打开任务管理器 -> 设置显示PID -> 找到并结束对于程序
Linux: netstat -ntlp | grep "8080", 找到对应的程序 -> ps -ef | grep "程序名" 找到对于的pid -> kill 相应的id

三、域名及DNS

由于IP地址不容易记忆,为IP地址赋予了一个利于记忆的别名,称为域名 如,百度的ip为: 61.135.169.125,对应的域名为 www.baidu.com

如何查看域名所对应的ip?

Windows/Linux: ping www.baidu.com

DNS

DNS即域名解析系统,域名和IP地址相互映射的一个分布式数据库,提供域名转到对应ip的服务。


四、OSI七层模型

OSI即开放系统互连参考模型,一种网络架构,分为7层。

上三层---应用层,控制软件方面

  • 应用层:文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
  • 表示层:数据格式化,代码转换,数据加密
  • 会话层:解除或建立与别的接点的联系(会话)

下四层---数据流层,用来管理硬件

  • 传输层:提供端对端的接口 TCP,UDP
  • 网络层:为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP
  • 数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU
  • 物理层 以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2 OSI七层模型及各层协议

TCP及UDP协议

TCP和UDP都是传输层的协议

  • TCP:传输控制协议
  • UDP: 数据报文协议

TCP和UDP的区别 

UDP的特点如下:

  • 1. 无链接
  • 2. UDP使用尽最大努力交付,不保证可靠性
  • 3. UDP是面向报文的,UDP对应用层交付下来的报文,既不合并,也不拆分,而是保留这些报文的边界。应用层交给UDP多长的报文,UDP就照样发送,即一次发送
  • 一个报文
  • 4. UDP没有拥塞控制
  • 5. UDP支持一对一、一对多、多对一和多对多的交互通信
  • 6. UDP的首部开销小,只有8字节

TCP的特点:

  • 1. TCP是面向连接的
  • 2. 每条TCP连接只能用于两个断点,一对一
  • 3. TCP提供可靠交付的服务:连接传输数据、无差错、不丢失、不重复、并且按序到达
  • 4. TCP提供全双工通信
  • 5. 面向字节流。TCP根据对方给出的窗口和当前网络拥塞的程度来决定一个报文应该包含多少个字节

TCP和UDP的详细对比请参考:https://blog.csdn.net/yyf_it/article/details/52206715

【python+postman接口自动化测试】(1)网络基础知识的更多相关文章

  1. 【Python+postman接口自动化测试】(5)抓包工具Fiddler简介

    Fiddler简介 Fiddler 4.6 下载 http://www.downza.cn/soft/234727.html 为什么使用Fiddler? 可以抓到请求数据,查看Raw格式/表单格式/J ...

  2. 【Python+postman接口自动化测试】(3)什么是接口测试?

    什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换.传递和控制管理过程,以及系统间的相互逻辑依 ...

  3. 【Python+postman接口自动化测试】(8)以青云客机聊天器人和图灵聊天机器人接口示范python发送get和post

    以青云客机器人和图灵机器人接口示范python发送get和post 发送请求,我们这里主要使用Python的一个第三方包(需要先安装):requests. Python3自带的http.client和 ...

  4. 【Python+postman接口自动化测试】(7)Postman 的使用教程

    Postman v6的使用 Postman: 简单方便的接口调试工具,便于分享和协作.具有接口调试,接口集管理,环境配置,参数化,断言,批量执行,录制接口,Mock Server, 接口文档,接口监控 ...

  5. 【Python+postman接口自动化测试】(4)HTTP 协议

    前言 HTTP:超文本传输协议,是用于从WWW服务器传输超文本到本地浏览器的传输协议. HTTP协议是一种无状态协议,主要包含请求和相应两大部分. 请求(Request) get请求示范: GET h ...

  6. 【Python+postman接口自动化测试】(6)Chrome开发者工具

    Chrome开发者工具 Elements: HTML元素面板,用于定位查看元素源代码 Console: js控制台面板,js命令行,查看前端日志 Sources: 资源面板,用于断点调试js Netw ...

  7. 【Python+postman接口自动化测试】(2)什么是接口?

    接口的概念 接口又称API(Application Programming Interface,应用程序编程接口),是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的 ...

  8. python+requests接口自动化测试

    转自https://my.oschina.net/u/3041656/blog/820023 原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测 ...

  9. python+requests接口自动化测试框架实例详解

    python+requests接口自动化测试框架实例详解   转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实 ...

随机推荐

  1. 03 依赖注入--01控制反转、IoC模式

    控制反转Inversion of Control DI和IoC几乎都是成对出现的,我们在理解依赖注入之前首先要弄明白什么是IoC,也就是控制反转,体现的就是控制权的转移,即控制权原来在A中,现在需要B ...

  2. DIVIDEMIX: LEARNING WITH NOISY LABELS AS SEMI-SUPERVISED LEARNING

    论文阅读: DIVIDEMIX: LEARNING WITH NOISY LABELS AS SEMI-SUPERVISED LEARNING 作者说明 版权声明:本文为博主原创文章,遵循CC 4.0 ...

  3. MySQL where子句的使用

    MySQL WHERE 子句 我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据. 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中. 语法 以下是 ...

  4. mysql从零开始之MySQL 删除数据库

    MySQL 删除数据库 使用普通用户登陆 MySQL 服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库,所以我们这边使用 root 用户登录,root 用户拥有最高权限. 在删除数据库过 ...

  5. 在Vue&Element前端项目中,使用FastReport + pdf.js生成并展示自定义报表

    在我的<FastReport报表随笔>介绍过各种FastReport的报表设计和使用,FastReport报表可以弹性的独立设计格式,并可以在Asp.net网站上.Winform端上使用, ...

  6. 创业公司用 Serverless,到底香不香?

    作者 | Mike Butusov 来源 | Serverless 公众号 在过去的 5 年里,使用云厂商处理应用后台的流行程度大幅飙升.其一,初创企业主采用 Serverless 方式,以节省基础设 ...

  7. spoj839 Optimal Marks(最小割,dinic)

    题目大意: 给你一个无向图\(G(V,E)\). 每个顶点都有一个int范围内的整数的标记. 不同的顶点可能有相同的标记. 对于边\((u,v)\),我们定义\(Cost(u,v)=mark [u]\ ...

  8. ORM框架查询数据库时返回指定的字段

    django model.objects.filter() 查询指定字段 1.model.objects.filter().values('field_name'),单个字段 2.model.obje ...

  9. 【转】简述C和C++的学习历程

    简述C和C++的学习历程(转) --by:肖舸老师总是被同学们问到,如何学习C和C++才不茫然,才不是乱学,想了一下,这里给出一个总的回复. 一家之言,欢迎拍砖哈. 1.可以考虑先学习C. 大多数时候 ...

  10. javascript-jquery插件

    1.jquery创建插件 jQuery.extend({插件名:函数体,插件名:函数体}): html部分 <div id="div1">开始动画</div> ...