arp协议

计算机网络面试题1

烈酒焚心 提交于 2019-11-28 10:27:47
1、Http和Https的区别   Http协议运行在TCP之上,明文传输,客户端与服务器端都无法验证对方的身份;Https是身披SSL(Secure Socket Layer)外壳的Http,运行于SSL上,SSL运行于TCP之上,是添加了加密和认证机制的HTTP。二者之间存在如下不同: 端口不同:Http与Http使用不同的连接方式,用的端口也不一样,前者是80,后者是443; 资源消耗:和HTTP通信相比,Https通信会由于加减密处理消耗更多的CPU和内存资源; 开销:Https通信需要证书,而证书一般需要向认证机构购买;   Https的加密机制是一种共享密钥加密和公开密钥加密并用的混合加密机制。 2、对称加密与非对称加密   对称密钥加密是指加密和解密使用同一个密钥的方式,这种方式存在的最大问题就是密钥发送问题,即如何安全地将密钥发给对方;而非对称加密是指使用一对非对称密钥,即公钥和私钥,公钥可以随意发布,但私钥只有自己知道。发送密文的一方使用对方的公钥进行加密处理,对方接收到加密信息后,使用自己的私钥进行解密。   由于非对称加密的方式不需要发送用来解密的私钥,所以可以保证安全性;但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。 3、三次握手与四次挥手  (1). 三次握手

ARP协议工作原理

南楼画角 提交于 2019-11-28 10:26:14
(1)首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。 (2)当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机IP地址,源主机MAC地址,目的主机的IP地址。 (3)当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。 (4)源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。 广播发送ARP请求,单播发送ARP响应。 来源: https://www.cnblogs.com/ldddd/p/11404794.html

计算机网络面试题3

倖福魔咒の 提交于 2019-11-28 08:30:32
面试中网络方面的知识被问到的概率很大,尤其是互联网公司,要熟悉osi七层模型,其中TCP/IP方面的知识尤其重要。如果自己平时有Socket编程的经验对面试也是很有帮助的。网络方面有空可以看看TCP/IP详解卷一和UNIX网络编程。以下总结了一些面试中常问的问题: 1、TCP为什么需要3次握手,4次断开? “三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。 client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server。本来这是一个早已失效的报文段。但server收到此失效的连接请求报文段后,就误认为是client再次发出的一个新的连接请求。于是就向client发出确认报文段,同意建立连接。假设不采用“三次握手”,那么只要server发出确认,新的连接就建立了。由于现在client并没有发出建立连接的请求,因此不会理睬server的确认,也不会向server发送数据。但server却以为新的运输连接已经建立,并一直等待client发来数据。这样,server的很多资源就白白浪费掉了。采用“三次握手”的办法可以防止上述现象发生。例如刚才那种情况,client不会向server的确认发出确认。server由于收不到确认,就知道client并没有要求建立连接。”

ARP与ICMP

浪尽此生 提交于 2019-11-28 07:21:54
tracert www.baidu.com 追踪 1.网络层:把数据帧转换为数据包,实现基于Ip地址的寻址和转发。 数据帧:在数据外边加入二层头部(帧头和帧尾) Dmac(6Byte)+Smac(6Byte)+Type(2Byte)+Data +FCS(4Byte,帧尾) 数据包:三层IP头部+数据 2.IP头部:标准长度是20Byte。 TTL:time to live 生存时间,是一个三层防环机制,可以限制一个数据包在网络中传输的时间。 数据包每经过一个三层设备(路由器),他的TTL值就会减1,如果TTL=0,那么这个数据包就不能继续传输,会被丢弃。 每经过一个三层设备,叫做1跳。 Protocol:用来标识上层协议,如果是UDP=17;TCP=6;ICMP=1. Source IP Destination IP 3.ARP:Address Resolution Protocol地址解析协议,用来根据Ip地址解析mac。 ARP报文分为2类:ARP请求报文Request;ARP响应报文Reply。 ARP请求报文是以广播的形式发送;ARP响应报文是以单播的形式回复。 arp -a //查看arp缓存信息 arp -d //清除ARP缓存 4.ICMP:(Internet Control Message Protocol)互联网控制报文协议,是一个“错误侦测与回馈机制”

ioctl操作

随声附和 提交于 2019-11-28 05:14:17
  在本书中有两个地方都对这个函数进行了介绍,其实还有很多地方需要这个函数。ioclt函数传统上一直作为纳西而不适合归入其他精细定义类别的特性的系统接口。网络程序(特别是服务器程序)经常在程序启动执行后使用ioctl获取所在主机全部网络接口的信心,包括:接口地址、是否支持广播、是否支持多播。 #include <unistd.h> int ioctl(int fd,int request,...../* void *arg /); //返回:若成功则为0.失败则我-1 套接字操作 文件操作 接口操作 ARP高速缓存操作 路由表操作 流系统   不但某些ioclt操作和某些fcntl操作功能重叠(譬如把套接字设置为非阻塞),而且某些操作可以使用ioctl以不止一种方式制定(譬如设置套接字的进程组属主)。下表列出了网络相关ioctl请求的request参数以及arg地址必须指向的数据类型。 套接字操作   明确要求套接字ioctl请求有三个,它们都要求ioctl的第三个参数是指向某个整数的一个指针。 SIOCATMARK:如果本套接字的读指针当前位于带外标记,那就通过由第三个参数指向的帧数放回一个非0值,否则返回一个0值。 SIOCGPGRP:通过由第三个参数指向的整数返回本套接字的进程ID或进程组ID,该ID指定针对本套接字的SIGIO或SIGURG信号的接受进程。 SIOCSPGR

ARP地址解析协议

纵然是瞬间 提交于 2019-11-28 02:56:19
  (网际控制报文协议) ICMP 、(网际组管理协议) IGMP 使用 IP 协议(网际协议),IP协议使用 ARP 协议(地址解析协议)。   ARP协议的 用途 是: 从网络层使用的IP地址,解析出在数据链路层使用的硬件地址。 1.ARP协议的要点:    网络层使用的是IP地址,但是在实际的网络链路上传送数据帧时,最终还是必须使用该网络的物理地址。   (IP地址32位,物理地址48位)   主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,这个映射表还经常动态更新。每台主机都设有一个ARP高速缓存,里面有本局域网的各主机和路由器的IP地址到硬件地址的映射表。 在本局域网中:     主机A广播————> 发送ARP请求分组(包含A的IP地址和物理地址)————> B收到ARP请求并发送ARP响应分组(将A的地址映射写入B的ARP高速缓存中)————> A收到ARP响应分组————> A写入IP地址与硬件地址的映射         (ARP是解决同一个局域网中的主机或路由器的IP地址和硬件地址的映射问题!) 注意! 问:既然在网络链路上传送的帧最终是按照硬件地址找到目的主机的,为什么还要用抽象的IP地址,而不直接使用硬件地址进行通信?这样似乎可以避免使用ARP。 答:全世界存在着各种各样的网络,它们使用不同的硬件地址

windows网络相关的命令

天涯浪子 提交于 2019-11-27 20:59:30
一、netstat命令 显示协议统计信息和当前 TCP/IP 网络连接。 NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-x] [-t] [interval] -a #显示所有连接和侦听端口。 -b #显示在创建每个连接或侦听端口时涉及的可执行程序。在某些情况下,已知可执行程序承载多个独立的组件,这些情况下,显示创建连接或侦听端口时 #涉及的组件序列。在此情况下,可执行程序的名称位于底部 [] 中,它调用的组件位于顶部,直至达到 TCP/IP。注意,此选项 可能很耗时,并且在你没有足够 #权限时可能失败。 -e #显示以太网统计信息。此选项可以与 -s 选项结合使用。 -f #显示外部地址的完全限定域名(FQDN)。 -n #以数字形式显示地址和端口号。 -o #显示拥有的与每个连接关联的进程 ID。 -p proto #显示 proto 指定的协议的连接;proto #可以是下列任何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s #选项一起用来显示每个协议的统计信息,proto 可以是下列任何一个: #IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。 -q #显示所有连接、侦听端口和绑定的非侦听 TCP 端口。绑定的非侦听端口不一定与活动连接相关联。

网络基础知识-网络协议

ε祈祈猫儿з 提交于 2019-11-27 19:24:08
操作系统基础   操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。 注:计算机(硬件)->操作系统->应用软件   具体链接如下: http://www.cnblogs.com/wj-1314/p/8302269.html 网络通信原理 ——互联网的本质就是一系列的网络协议   一台硬设有了操作系统,然后装上软件你就可以正常使用了,然而你也只能自己使用, 每个人都拥有一台自己的机器,然而彼此孤立,那么如何把每个人都联系在一起呢?   如果把计算机看成分布于世界各地的人,那么连接两台计算机之间的internet实际上 就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列的协议, 总称为‘互联网协议’(Internet Protocol Suite). 互联网协议的功能:定义计算机如何接入internet,以及接入internet的计算机通信的标准。    ——网络层次划分   为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络, 国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即著名的OSI/RM模型 (Open System Interconnection/Reference

ARP协议的报文格式

纵然是瞬间 提交于 2019-11-27 19:00:24
结构ether_header定义了以太网帧首部;结构arphdr定义了其后的5个字段,其信息 用于在任何类型的介质上传送ARP请求和回答;ether_arp结构除了包含arphdr结构外, 还包含源主机和目的主机的地址。 定义常量 #define EPT_IP 0x0800 /* type: IP */ #define EPT_ARP 0x0806 /* type: ARP */ #define EPT_RARP 0x8035 /* type: RARP */ #define ARP_HARDWARE 0x0001 /* Dummy type for 802.3 frames */ #define ARP_REQUEST 0x0001 /* ARP request */ #define ARP_REPLY 0x0002 /* ARP reply */ 定义以太网首部 typedef struct ehhdr { unsigned char eh_dst[6]; /* destination ethernet addrress */ unsigned char eh_src[6]; /* source ethernet addresss */ unsigned short eh_type; /* ethernet pachet type */ }EHHDR, *PEHHDR;

实验二 网络嗅探与欺骗

旧街凉风 提交于 2019-11-27 18:58:49
中国人民公安大学 Chinese people ’ public security university 网络对抗技术 实验报告 实验二 网络嗅探与欺骗 学生姓名 吴宙杨 年级 2014级 区队 三区队 指导教师 高见 信息技术与网络安全 学院 201 6 年 11 月 7 日 实验任务总纲 20 1 6 —20 1 7 学年 第 一 学期 一、实验目的 1.加深并消化本课程授课内容,复习所学过的互联网搜索技巧、方法和技术; 2.了解并熟悉常用的网络嗅探方式,掌握常用抓包软件的使用方法和过滤技巧,能够对给定的数据包分析网络基本行为;掌握ARP欺骗的基本原理,以及基于ARP欺骗的DNS攻击方式; 3.达到巩固课程知识和实际应用的目的。 二、实验要求 1.认真阅读每个实验内容,需要截图的题目,需清晰截图并对截图进行标注和说明。 2.文档要求结构清晰,图文表达准确,标注规范。推理内容客观、合理、逻辑性强。 3.软件工具可使用office2003或2007、CAIN、Wireshark等。 4.实验结束后,保留电子文档。 三 、实验步骤 1.准备 提前做好实验准备,实验前应把详细了解实验目的、实验要求和实验内容,熟悉并准备好实验用的软件工具,按照实验内容和要求提前做好实验内容的准备。 2.实验环境 描述实验所使用的硬件和软件环境(包括各种软件工具);