一、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. http报文常见的请求头、响应头

    http报文常见的请求头 1.Accept Accept: text/html  浏览器可以接受服务器回发的类型为 text/html. Accept: /   代表浏览器可以处理所有类型,(一般浏览 ...

  2. css 参考手册 部署到本地

    * 到css参考手册网站 http://css.doyoe.com/ 下载chm手册 * 到github下载对应的html页面 cd /Applications/XAMPP/htdocs git cl ...

  3. 安卓模拟器genymotion安装

    上一篇已经讲了appium的搭建.那么搭建好后,我们需要测试不同机型,这个时候除了真机外,可以选择安装模拟器.市面上的模拟器有很多:夜神.逍遥.mumu.android emulator.genymo ...

  4. postgresql批量插入copy_from()的使用

    在批量插入postgresql时想使用同Mysql的语法时发现并不能使用: cursor.executemany("INSERT INTO persons VALUES (%d, %s, % ...

  5. P4770-[NOI2018]你的名字【SAM,线段树合并】

    正题 题目链接:https://www.luogu.com.cn/problem/P4770 题目大意 给出一个长度为\(n\)的字符串\(S\).\(q\)次询问给出一个串\(T\)和一个区间\([ ...

  6. Unity——基于UGUI的UI框架

    基于UGUI的UI框架 一.Demo展示 二.关键类 MonoSingle 继承MonoBehaviour的单例基类:做了一些特殊处理: 保证场景中必须有GameInit名称的物体,所有单例管理器脚本 ...

  7. 从源码分析node-gyp指定node库文件下载地址

    当我们安装node的C/C++原生模块时,涉及到使用node-gyp对C/C++原生模块的编译工作(configure.build).这个过程,需要nodejs的头文件以及静态库参与(后续称库文件)对 ...

  8. Python基础 | 字符串格式化输出及print()函数介绍

    在写代码时,我们会经常与字符串打交道,Python中控制字符串格式通常有三种形式,分别是使用str%,str.format(),f-str,用法都差不多,但又有一些细微之差. 一起来看看吧~~~ 一. ...

  9. 题解 [PA2019]Trzy kule

    link Description 对于两个长度为 \(n\) 的 \(01\) 串 \(a_1,a_2,\dots,a_n\) 和 \(b_1,b_2,\dots,b_n\),定义它们的距离 \(d( ...

  10. 1. SSTI(模板注入)漏洞(入门篇)

    好久没更新博客了,现在主要在作源码审计相关工作,在工作中也遇到了各种语言导致的一些SSTI,今天就来大概说一下SSTI模板注入这个老生常谈的漏洞 前言 模板引擎 模板引擎(这里特指用于Web开发的模板 ...