主机A首先查找其ARP高速缓存内的映射表中是否有主机B的IP地址,如果有,则查找出其对应的硬件地址,并将该硬件地址写入MAC帧,通过局域网将该MAC帧发送给主机B.如果ARP高速缓存内没有主机B的IP地址,则运行ARP,按以下步骤寻找主机B的硬件地址 1,主机A首先在本局域网中广播发送一个ARP请求分组,其内容可以形象描述为:“我的IP地址是A,硬件地址是a,我想知道IP地址为B的主机硬件地址”.本局域网中的所有运行ARP的主机都会收到该ARP请求分组. 2,主机B收到该ARP请求分组后.发现其…
地址解析协议ARP ​ 在实际的应用中,我们会经常遇见这样的一个问题:我们已知一个机器(主机或者路由器的),我们怎么获取相应的硬件地址?,地址解析协议就是用来解决这个问题的. ARP协议的作用: 由上图可知: 首先ARP协议划归为网络层,但是ARP协议是为了从网络层使用的IP地址,解析出在数据链路层的MAC地址,因此有的书也会把ARP协议划分到数据链路层. ARP协议的要点 网络层使用的是IP地址,但在实际的链路层传输数据帧我们使用的是MAC地址.在一个网络上可能会有新的主机加入或者旧的主机撤去…
IP数据报首部checksum的计算 2009年02月22日 23:23:00 zhangyang0402 阅读数:10897   一.首先区别下面两个概念:(1)one's complement:正数=原码,负数=反码 (2)two's complement:就是通常所指的补码 二.计算ip首部校验和 1.发送IP数据报计算checksum(1)将校验和字段置为0;(2)对首部中(一般为20B)每个16位字进行二进制反码求和;(这里的文字描述是有问题的,每个16bit进行二进制反码求和,是要把…
内网的一台电脑要上因特网对外开放服务或接收数据.都须要port映射.port映射分为动态和静态. 动态port映射:内网中的一台电脑要訪问站点.会向NAT网关发送数据包.包头中包含对方站点IP.port和本机IP.port,NAT网关会把本机IP.port替换成自己的公网IP.一个未使用的port.而且会记下这个映射关系,为以后转发数据包使用.然后再把数据发给站点,站点收到数据后做出反应.发送数据到NAT网关的那个未使用的port.然后NAT网关将数据转发给内网中的那台电脑,实现内网和公网的通讯…
MDNS协议介绍 mDNS multicast DNS , 使用5353端口,组播地址 224.0.0.251.在一个没有常规DNS服务器的小型网络内,可以使用mDNS来实现类似DNS的编程接口.包格式和操作语义.MDNS协议的报文与DNS的报文结构相同,但有些字段对于MDNS来说有新的含义. 每个进入局域网的主机,如果开启了mDNS服务的话,都会向局域网内的所有主机组播一个消息,我是谁,和我的IP地址是多少.然后其他也有该服务的主机就会响应,也会告诉你,它是谁,它的IP地址是多少.mDNS的域…
1.查看局域网中的所有主机名 2.通过主机名解析IP地址:-4选项 3.通过IP地址解析主机名:-a选项…
DOS命令 命令 意义 net view 获取局域网中的全部主机名 ipconfig -all 获取本地IP,主机名,MAC地址 arp -a 获取本局域网中的全部IP地址和物理地址 ping -a x.x.x.x 获取x.x.x.x的主机名 nbtstat -a 主机名 获取MAC地址 java exec 运行外部命令 String command = "net view" Runtime r = Runtime.getRuntime(); Process p = r.exec(co…
查看所有 IP at MAC $ arp -a ? (10.125.49.187) at 18:81:e:eb:ef:c0 on en0 ifscope [ethernet] ? (10.125.50.149) at 4:cf:8c:26:f3:8e on en0 ifscope [ethernet] ? (10.125.51.44) at 10:77:17:57:b2:c3 on en0 ifscope [ethernet] 由 IP 找到主机名 由 NetBIOS 解析 Windows 下用…
一个很奇怪的现象:我的主机能ping通同一网段的其它主机,并也能xshell 远程其它的主机,而其它的主机不能ping通我的ip,也不能远程我和主机. [root@NB Desktop]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface virbr0 link-local * br0 br0 我的内网网段是10.100.2.0/24 解决这种问题的方式是: [root@NB…
在Java编程中,如何根据主机名(域名)获取IP地址? 以下示例显示了如何通过net.InetAddress类的InetAddress.getByName()方法将主机名更改为指定的IP地址. package com.yiibai; import java.net.InetAddress; import java.net.UnknownHostException; public class HostSpecificIPAddress { public static void main(Strin…
看到了很多局域网内的主机扫描工具,在想怎么去实现这样一个工具.前几天看了Ping源码--ICMP协议的实例,ICMP可以用来探测网联网内的任一主机,ICMP和广播地址结合来扫描局域网内的所有主机不是很容易吗. http://wenku.baidu.com/link?url=XIimPSkG3KXjcM1Rh8ZfjjBLnJmWh5IAULrtKQv99oLukRsRhdGN-Gl_PQzs5dXDcSngRVjnzswMjXAsB75c2evG35ENvKbf4tBtgxntDke ErrCo…
一.weave介绍Weave是由weaveworks公司开发的解决Docker跨主机网络的解决方案,现在就采用它来实现Docker多宿主机互联的目的,它能够创建一个虚拟网络,用于连接部署在多台主机上的Docker容器,这样容器就像被接入了同一个网络交换机,那些使用网络的应用程序不必去配置端口映射和链接等信息. 外部设备能够访问Weave网络上的应用程序容器所提供的服务,同时已有的内部系统也能够暴露到应用程序容器上.Weave能够穿透防火墙并运行在部分连接的网络上,另外,Weave的通信支持加密,…
注:源码等等的我不会全然公开的,此篇文章写出来为大家的网络编程或者课程设计提供一定的思路.. 好,本次我们须要完毕的任务是: 完毕两台主机通过中间主机的数据通信(网络层) 添加基于IP地址的转发功能 添加网络层封装 事实上最基本的就是基于IP地址的转发功能,网络层的封装事实上我们在0基础功能中就已经做好了. 首先,实验的思路是A通过中间主机B向C发送数据.那么B则作为一个路由器,B要监听两个网卡,一个网卡发来的数据通过还有一个网卡发出去. 示意图例如以下: A--------->B1===B2-…
计算机网络面试题:A主机ping B主机发生了什么? 众所周知,ping命令使用的是ICMP协议包,那么A主机ping B主机到底发生了什么呢? 1 ping介绍 ping(Packet Internet Groper,因特网包探索器)是Windows.UNIX.和Linux系统下的一个命令.ping也属于一种通信协议,是TCP/IP的一部分.利用ping命令可以检查网络是否连通,可以很好地帮助分析和判定网络故障.应用格式:ping 空格 IP地址,该命令还可以加许多参数使用. 2 ping的使…
ICMP的应用--Traceroute Traceroute是用来侦测主机到目的主机之间所经路由情况的重要工具,也是最便利的工具.前面说到,尽管ping工具也可以进行侦测,但是,因为ip头的限制,ping不能完全的记录下所经过的路由器.所以Traceroute正好就填补了这个缺憾. Traceroute的原理是非常非常的有意思,它受到目的主机的IP后,首先给目的主机发送一个TTL=1(还记得TTL是什么吗?)的UDP(后面就 知道UDP是什么了)数据包,而经过的第一个路由器收到这个数据包以后,就…
本文转载自星光云 http://www.365yun.top/news/list.asp?newsid=22 虚拟主机是利用虚拟技术将一台物理服务器划分成多个“虚拟”服务器,虚拟主机的出现大大节省了服务器硬件的成本,所以虚拟主机租用价格比较便宜.虚拟主机的关键技术在于,即使在同一台硬件.同一个操作系统上,运行着为多个用户打开的不同的服务器程式,也互不干扰.并且每一台虚拟主机的表现和独立主机并没有什么差别.虚拟主机也有其缺点,由于是多个用户共享一台服务器,所以其访问速度及流量便受到一定的限制. V…
也就是手工配置IP地址.子网掩码.网关和DNS. 设置方法如下: vi /etc/sysconfig/network-scripts/ifcfg-eth0 编辑本地网卡的配置文件 主要查看下面这几项是否和下面给出的一致即可,IP网段与本地主机保持一致,下图紧提供格式 BOOTPROTO=dhcp 动态获取IP 如果只想虚拟主机和本地主机直接连接,可以用host-only模式 虚拟主机手动设置IP或者自动获取IP都可以…
一.主机变量和主机组变量的演示 1.主机变量和主机组变量的基本语法和规则 请访问:https://www.cnblogs.com/itwangqiang/p/13592362.html 2.首先在/etc/ansible/下创建清单文件 [root@localhost ~]# cat /etc/ansible/inventory [test] client.example.com 3.实例一:针对特定主机定义变量 1️⃣:首先在/etc/ansible目录下创建host_vars目录(注意:目录…
我在Windows7系统安装了虚拟机,通过虚拟机安装了Ubuntu13.04,我设置的主机与虚拟机的连接方式是桥接,安装好后,发现虚拟机ping不通主机,但是主机可以ping通虚拟机. 我的操作是:关闭防火墙,发现虚拟机可以ping通主机了.说明是Windows7防火墙阻止了. 现在存在的问题是:如果我一直关闭防火墙也不是个事啊?这样做会影响我的电脑安全的.于是我想我要先确定防火墙阻止了什么,导致需要关闭防火墙? 于是我在网上查看资料,原来是Windows7的防火墙没有打开ICMPv4-In这个…
我在Windows7系统安装了虚拟机,通过虚拟机安装了Ubuntu13.04,我设置的主机与虚拟机的连接方式是桥接,安装好后,发现虚拟机ping不通主机,但是主机可以ping通虚拟机. 我的操作是:关闭防火墙,发现虚拟机可以ping通主机了.说明是Windows7防火墙阻止了. 现在存在的问题是:如果我一直关闭防火墙也不是个事啊?这样做会影响我的电脑安全的.于是我想我要先确定防火墙阻止了什么,导致需要关闭防火墙? 于是我在网上查看资料,原来是Windows7的防火墙没有打开ICMPv4-in这个…
发送一个ip数据报到接受这个ip数据报经历的过程 好比寄一个快递的过程 这个包裹一共有三层, 这个包裹的最里面是数据,数据 第二层写着目的ip地址和源ip地址,即收件人和发件人的姓名 第三层也就是最外面那层写的是源MAC和目的MAC地址,即本快递服务站的后门门牌号,和下一个快递服务站的前门门牌号(这里假设快递服务站接收快递只在前门接收,发送快递只在后门,且前门和后门的门牌号不一样) 所以本服务站从前门接收到上一个站传来的包裹后,我必须把包裹的最外层拆掉,查看第二层的内容,即查看收件人和发件人分别…
一.下面脚本可查看局域网中的电脑计算机名和IP,保存下面文本至记事本.后缀改成bat COLOR 0A CLS @ECHO Off Title 查询局域网内在线电脑IP :send @ECHO off&setlocal enabledelayedexpansion ECHO 正在获取本机的IP地址.请稍等... for /f "tokens=3 skip=2 delims=: " %%i in ('nbtstat -n') do ( set "IP=%%i"…
树莓派使用的wifi联网,在宿舍使用的是公共网络,不能设置静态ip,每次树莓派上电开机后ip地址可能会改变,所以让树莓派开机联网后自动发送ip地址到QQ邮箱 一.安装mutt和msmtp mutt: 是一个Linux下的邮件程序,Mutt 更像一个文件管理器,只不过它管理的是email. msmtp: 是Linux下一个非常简单易用的smtp客户端. sudo apt-get install mutt sudo apt-get install msmtp 二.配置mutt和msmtp 1.配置m…
IP数据报首部的格式,普通20字节. 4位版本号:当前4--IPv4. 4首部长度:首部长度 8位服务类型TOS: 3bits(优先权)+ 4bits(类型--最小延迟+最大吞吐量+最高可靠性+最小费用)+ 1bits(未用,置0).大多数实现都不支持TOS设置. 不同应用建议的TOS值如下: 16位总长度:总长度-首部长度=>IP数据报数据起始位置及长度.16bits=2byte,最大数据报长度65535.当数据分片时,此字段变化. 16位标识字段:唯一的标识每一分主机发送的数据报,没发送一份…
ip数据报分首部和数据两部分组成: 首部分为固定部分和可变部分 版本--占 4 位,指 IP 协议的版本 目前的 IP 协议版本号为 4 (即 IPv4) 首部长度--占 4 位,可表示的最大数值 是 15 个单位(一个单位为 4 字节) 因此 IP 的首部长度的最大值是 60 字节. 区分服务--占 8 位,用来获得更好的服务 在旧标准中叫做服务类型,但实际上一直未被使用过. 1998 年这个字段改名为区分服务. 只有在使用区分服务(DiffServ)时,这个字段才起作用. 在一般的情况下都不…
IP数据报的格式: IP 数据报的首部长度和数据长度都是可变长的,但总是4字节的整数倍. 对于IPv4 ,4位版本字段是4. (1)版本 占4位,指IP协议的版本.通信双方使用的IP协议版本必须一致.目前广泛使用的IP协议版本 号为4(即IPv4).关于IPv6,目前还处于草案阶段.   (2)首部长度 占4位,可表示的最大十进制数值是15.请注意,这个字段所表示数的单位是32位字长 (1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字 节.当I…
传输层及其以下的机制由内核提供,是操作系统的一部分,应⽤层由⽤户进程提供应⽤层数据通过协议栈发到⽹络上时,每层协议都要加上⼀个数据⾸部(header),称为封装.不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在⽹络层叫做数据报(datagram),在链路层叫做帧(frame). 1.以太网帧格式 ♦源地址和⽬的地址是指⽹卡的硬件地址(也叫MAC地址),长度是48位,是在⽹卡出⼚时固化的.Linux下可以⽤ifconfig命令看⼀下,"HWaddr 00:15:F2:14:9…
小结: 1. 网络层两种服务 虚电路服务 virtual circuit  电信网 网络层负责可靠交付 数据报服务  网络层不负责可靠交付 提供灵活的.无连接的.尽最大努力交付的数据报服务 不提供服务质量的承诺 2. 数据报服务 分组到达终点的时间顺序不一定按发送顺序 3. 网络层协议 internet protocol 网际协议 ip adress resolution protocol 地址解析协议 ARP internet control message protocol 网际控制报文协议…
一.IP数据报格式 IP数据报格式如下: 注:需要注意的是网络数据包以大端字节序传输,当然头部也得是大端字节序,也就是说: The most significant bit is numbered 0 at the left, and the least significant bit of a 32-bit value is numbered 31 on the right. The 4 bytes in the 32-bit value are transmitted in the orde…
转载:http://www.cnblogs.com/lifan3a/articles/6649970.html 以太网帧格式.IP数据报格式.TCP段格式+UDP段格式 详解   1.ISO开放系统有以下几层: 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 2.TCP/IP 网络协议栈分为应用层(Application).传输层(Transport).网络层(Network)和链路层(Link)四层. 通信过程中,每层协议都要加上一个数据首部(heade…