地址

localhost、127.0.0.1、本机ip、0.0.0.0 的区别

陌路散爱 提交于 2019-12-05 07:01:09
1、各个地址 绑定到127.0.0.1的服务只能被本机访问。 localhost是个域名,一般指向127.0.0.1这个ip,绑定到localhost的服务也只能被本机访问。 本机地址,指的是本机物理网卡所绑定的网络协议地址,一般指ipv4协议。如果主机有多个网卡,分别连接不同的物理网络,比如192.168.0.1/255.255.255.0 和 192.168.1.1/255.255.255.0,如果服务端socket绑到192.168.0.1,那么192.168.1.1的网段是无法连接的。绑定到本机地址的服务能被同网段其他机器访问。 在服务器中,0.0.0.0 指的是本机上的所有IPV4地址。比如一个主机有两个IP地址,192.168.1.1 和 10.1.2.1,并且该主机上有一个服务监听的地址是0.0.0.0,那么通过本地的两个 ip 地址都能够访问该服务。 来源: https://www.cnblogs.com/wenxuehai/p/11912376.html

如何判断苹果设备的真伪?

ぃ、小莉子 提交于 2019-12-05 06:43:22
背景知识: 根据世界IEEE联盟规定,所有的带有无线连接的设备,必须具有一个全球唯一的MAC地址。 MAC地址由IEEE联盟分配给各个厂家,就像每个人的身份证号码一样,不可能重复。 因此,根据MAC地址的前6个字符,在IEEE官网可以查询是分配给哪个厂家的地址。 苹果的产品,Mac电脑的wifi的MAC地址、蓝牙MAC地址、苹果鼠标/触控板/键盘的蓝牙MAC地址,以及iPhone的wifi地址的查询结果均为“Apple Inc”。 因此,我们可以把自己苹果设备的MAC地址输入到iEEE官网查询,若为Apple,则正品,否则,山寨。 具体方法: 打开IEEE官方的查询链接: Welcome to The Public Listing For IEEE Standards Registration Authority 在Please select a Product那里,选择:MAC address block large(MA-L),然后点击搜索按钮,此时下方会出现搜索过滤输入框 点击Mac桌面左上角的苹果图标,选择第一个关于此电脑,然后选择系统报告,找到蓝牙,然后找到蓝牙设备的MAC地址,只需要复制前6位,复制好之后粘贴到上一步提到到搜索过滤输入框中 如果结果显示为Apple Inc,那应该就是正品了。 来源: https://www.cnblogs.com/djjlovedjj

在浏览器地址栏输入www.baidu.com到打开百度首页这期间到底发生了什么?

匆匆过客 提交于 2019-12-05 05:17:29
刚才无意间看到这么一个面试题,觉得有点意思,我想从五层网络模型的角度说说我的看法。 1.首先通过DNS域名系统向域名服务器发送域名解析请求来得到百度的IP地址39.156.69.79; 2.系统通过ARP地址解析协议获得百度IP地址映射的MAC地址; 3.通过TCP三次握手向百度服务器发送请求连接的报文段并建立连接; 4.应用层形成HTTP请求报文后下放到传输层; 5.传输层在请求报文前面加上包含源端口和目的端口等字段的TCP首部形成TCP报文段后下放到网络层; 6.网络层在TCP报文段的前面加上包含本机IP地址和百度IP地址的首部形成IP数据报后下放到数据链路层; 7.数据链路层对IP数据报加上含有目的MAC地址和源MAC地址的首部和含有帧检验序列FCS的尾部封装成MAC帧后下放到物理层; 8.在物理层将帧转换为比特流然后在铜线电缆光纤等物理媒介上以电信号的形式传输至北京的百度服务器; 9.百度服务器收到数据后剥洋葱似的一层层反向解包并将HTTP请求报文上传到应用层然后向客户端发送HTTP响应报文; 9.客户端收到HTTP响应报文后由浏览器解析百度首页的HTML代码并渲染出整个页面; 10.系统通过TCP四次挥手释放TCP连接。 来源: https://www.cnblogs.com/wangyi0419/p/11908883.html

IP地址和MAC地址绑定的必要性

允我心安 提交于 2019-12-05 04:01:55
计算机网络是一个共通的网络,世界上任何计算机都可以互相访问。 实现的原理基于网络通讯的互联网交互五层模型。 计算机网络的历史发展 当计算机网络技术初始利用的时代,几台计算机通过集线器连接,就可以实现网络的互通。这个网络的数据传输方式是——广播。 广播的方式浪费了网络资源,特别是需要互联的计算机数量基数开始增大的时候,一个集线器无法满足大量计算机通信的需求,逻辑上和资源上都要求人类提出新的技术。 于是交换机的产生解决了这个问题。计算机都和交换机连接组成了一个局域网,数据到达交换机后,从数据中获得的Mac地址在交换机的映射表中找到接收方连接的 端口号,数据被交换机扔到这个端口,成功传输到指定的计算机。因此交换机要记录所有连接的计算机的mac地址和端口号的关系。 计算机的数量进一步增大,交换机的数量越来越多。 例如哈佛的计算机x,计算机x所在的交换机连接了美国国家交换机,美国国家交换机连接中国国家交换机,中国中大计算机y连接的交换机连接了中国国家交换机。 当计算机x请求获取计算机y的资源,会发送数据,数据中包含计算机y的Mac地址,计算机x发送数据到交换机。交换机一看,没有和该mac地址绑定的端口,那要发给谁? 交换机发给默认的计算机——美国国家交换机,美国国家交换机也没有找到接口,于是再转发该数据给中国交换机,依次类推,就发送给了计算机y。 y收到数据后如何回复呢?原理是一样的

arp协议

為{幸葍}努か 提交于 2019-12-05 03:50:26
arp协议** 定义 ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。其作用是在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。 映射方式(动态映射) 动态映射时,每次只要机器知道另一台机器的逻辑(IP)地址,就可以使用协议找出相对应的物理地址。已经设计出的实现了动态映射协议的有ARP和RARP两种。ARP把逻辑(IP)地址映射为物理地址。RARP把物理地址映射为逻辑(IP)地址。 ARP原理及流程 在任何时候,一台主机有IP数据报文发送给另一台主机,它都要知道接收方的逻辑(IP)地址。但是IP地址必须封装成帧才能通过物理网络。这就意味着发送方必须有接收方的物理(MAC)地址,因此需要完成逻辑地址到物理地址的映射。而ARP协议可以接收来自IP协议的逻辑地址,将其映射为相应的物理地址,然后把物理地址递交给数据链路层。 请求 任何时候,当主机需要找出这个网络中的另一个主机的物理地址时,它就可以发送一个ARP请求报文,这个报文包好了发送方的MAC地址和IP地址以及接收方的IP地址。因为发送方不知道接收方的物理地址,所以这个查询分组会在网络层中进行广播。 响应 局域网中的每一台主机都会接受并处理这个ARP请求报文,然后进行验证,查看接收方的IP地址是不是自己的地址

计算机组成原理复习(2)

放肆的年华 提交于 2019-12-05 02:54:22
中央处理器由运算器和控制器两大部分组成。 运算器接收从控制器送来的命令并执行相应的动作,对数据进行加工和处理。 运算器主要由算术逻辑单元(ALU)、暂存寄存器、累加寄存器、程序状态字寄存器(PSW)、通用寄存器组、计数器(CT)、移位器组成。 程序状态字寄存器用于保存系统的运行状态。条件转移指令执行时,需对标志寄存器的内容进行测试,判断是否满足转移条件。 程序状态字寄存器用于存放程序状态字,而程序状态字的各位表征程序和机器运行状态,如:含有进位标志C、结果为零标志Z等。 通用寄存器用于存放操作数和各种地址信息等,其位数与机器字长相等,这样便于操作控制。 控制器的基本功能就是执行指令,每条指令的执行是由控制器发出的一组微操作实现的。 控制器的功能是取指令、分析指令和执行指令,并产生有关操作控制信号。 控制器由硬布线控制器和微程序控制器两种类型。 控制器由程序计数器(PC)、指令寄存器(IR)、指令译码器、存储器地址寄存器(MAR)、存储器数据寄存器(MDR)、时序系统和微操作信号发生器等组成。 控制器的工作原理是根据指令操作码、指令的执行步骤(微命令序列)和条件信号来形成当前计算机个部件要用到的控制信号。计算机整机各硬件系统在这些控制信号的控制下协同运行,产生预期的执行结果。 程序计数器用于存放下一条指令在主存中的地址,具有自增功能。 程序计数器的内容为下一条指令在主存中的地址

Linux 如何快速查看 IP 地址

时光怂恿深爱的人放手 提交于 2019-12-05 02:36:32
查看IP: 1.进入Linux 系统,在主页面空旷的地方右键,选择 打开终端。 2. 在显示的界面中输入 ifconfig -a 就可以查看到Linux 的地址了。 快速查看IP 和修改: 1.点击应用程序 ->选择系统工具-》选择设置 ->找到网络-》点击进入 2.有线就选择有线。选择后,右侧会出现 ip 地址的详细信息。选择 ipv4地址即可。 3.点击右下角的设置图标,可以自行设置ip. 来源: CSDN 作者: 有一种人仅仅是认识就很好了 链接: https://blog.csdn.net/qq_36350532/article/details/79152641

编译的整个过程:预编译、编译、汇编、链接

て烟熏妆下的殇ゞ 提交于 2019-12-05 02:33:20
编译分为四个步骤: 每个步骤将文件编译成别的格式,如下: 详解: 1.预编译: 预编译过程主要做4件事: ①展开头文件 在写有#include <filename>或#include "filename"的文件中,将文件filename展开,通俗来说就是将fiename文件中的代码写入到当前文件中; ②宏替换 ③去掉注释 ④条件编译 即对#ifndef #define #endif进行判断检查,也正是在这一步,#ifndef #define #endif的作用体现出来,即防止头文件被多次重复引用 2.编译 将代码转成汇编代码,并且在这个步骤中做了两件很重要的工作: ①编译器在每个文件中保存一个函数地址符表,该表中存储着当前文件内包含的各个函数的地址; ②因为这步要生成汇编代码,即一条一条的指令,而调用函数的代码会被编译成一条call指令,call指令后面跟的是jmp指令的汇编代码地址,而jmp指令后面跟的才是“被调用的函数编译成汇编代码后的第一条指令”的地址,但是给call指令后面补充上地址的工作是在链接的时候做的事情。 3.汇编 将汇编代码转成机器码 4.链接 编译器将生产的多个.o文件链接到一起生成一个可执行.exe文件; 但是在这个过程中,编译器做的一个重要的事情是将每个文件中call指令后面的地址补充上;方式是从当前文件的函数地址符表中开始找,如果没有

内存编址和寻址、内存对齐

主宰稳场 提交于 2019-12-05 01:58:44
内存编址方式 1.内存在逻辑上就是一个一个的格子,这些格子可以用来装东西,也就是内存中的数据,每个格子都有一个固定的编号,这个编号0、1、2、3就是 内存地址,这个内存地址(一个数字)和这个格子的空间是一一对应的并且是永久绑定的。这就是 内存的编址方式 2.在程序运行时,CPU只认识内存地址,而不关心这个地址所代表的空间在哪里以及分布,因为硬件的设计保证了只要有地址,就一定能找到这个盒子在 哪里,所以内存单元有两个概念:地址和空间 3.内存编址是以字节为单位,每一个内存地址对应的内存大小的空间是固定的,就是一个字节8bit 内存寻址方式 1.逻辑地址:包含在机器语言指令中用来指定一个操作数或者一条指令的地址 2.线性地址(也称虚拟地址):是一个32位无符号整数,可以用来表示高达4G的地址,通常使用16进制数来表示,范围从0x00000000到0xffffffff 3.物理地址:用于内存芯片级内存单元寻址,他们从微处理器的地址引脚发送到内存总线上的电信号相对应。物理地址由32位或36位无符号整数表示 MMU MMU内存管理单元)的功能是将逻辑地址转换为物理地址,其中包括: 1.分页单元,将逻辑地址转换为线性地址 2.分页单元,将线性地址转换为物理地址 内存对齐 typedef abc{ char a; short b; int c; } typedef my{ char a; int

ida快捷键

给你一囗甜甜゛ 提交于 2019-12-05 00:56:04
Alt+T 搜索文本 Ctrl+1 Quick View导航 空格键 图形视图/汇编视图切换 Shift+F3 切换到Functions窗口 Shift+F4 切换到Names窗口 Shift+F7 切换到Segments窗口 Shift+F12 切换到Strings窗口 ESC退到上一个操作地址 G搜索地址或者符号 N重命名 分号键 注释 ALT+M 添加标签 CTRL+M 列出所有标签 CTRL +S 二进制段的开始地址结束地址 C code 光标地址出内容解析成代码 P 在函数开始处使用P,从当前地址处解析成函数 D data解析成数据 A ASCII解析成ASCII U unDefined解析成未定义的内容 X 交叉引用 F5 C伪代码 菜单栏中的搜索功能中 有ALT+T 搜索文本 ALT+B 搜索16进制 搜索opcode 如ELF文件头 打开断点列表 CTRL+ALT+B 单步步入 F7 单步不过 F8 运行到函数返回地址 CTRL+F7 运行到光标处 F4 来源: https://www.cnblogs.com/DirWang/p/11893118.html