php网络学习,网络学习
实验目的:
1. 通过对链路层的抓包,了解网络结构及网关、路由的概念
实验场景:
10.49.4.65 和 10.49.4.64为同一个网段
实验步骤:
1. 在10.49.4.65上抓包
2. 从10.49.4.65上ping 10.4.4.64
抓包结果:
# tcpdump -i eth1 -e -nn host 10.49.4.64
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
17:54:36.804406 00:13:72:65:65:e1 > 00:19:a9:3b:ec:00, ethertype IPv4 (0x0800), length 98: 10.49.4.65 > 10.49.4.64: ICMP echo request, id 35935, seq 1, length 64
17:54:36.805908 00:18:8b:2d:ef:79 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: arp who-has 10.49.4.65 tell 10.49.4.64
17:54:36.805927 00:13:72:65:65:e1 > 00:18:8b:2d:ef:79, ethertype ARP (0x0806), length 42: arp reply 10.49.4.65 is-at 00:13:72:65:65:e1
17:54:36.806013 00:18:8b:2d:ef:79 > 00:13:72:65:65:e1, ethertype IPv4 (0x0800), length 98: 10.49.4.64 > 10.49.4.65: ICMP echo reply, id 35935, seq 1, length 64
17:54:37.804893 00:13:72:65:65:e1 > 00:19:a9:3b:ec:00, ethertype IPv4 (0x0800), length 98: 10.49.4.65 > 10.49.4.64: ICMP echo request, id 35935, seq 2, length 64
17:54:37.805035 00:18:8b:2d:ef:79 > 00:13:72:65:65:e1, ethertype IPv4 (0x0800), length 98: 10.49.4.64 > 10.49.4.65: ICMP echo reply, id 35935, seq 2, length 64
17:54:38.805104 00:13:72:65:65:e1 > 00:19:a9:3b:ec:00, ethertype IPv4 (0x0800), length 98: 10.49.4.65 > 10.49.4.64: ICMP echo request, id 35935, seq 3, length 64
17:54:38.805209 00:18:8b:2d:ef:79 > 00:13:72:65:65:e1, ethertype IPv4 (0x0800), length 98: 10.49.4.64 > 10.49.4.65: ICMP echo reply, id 35935, seq 3, length 64
1
2
3
4
5
6
7
8
9
10
11
# tcpdump -i eth1 -e -nn host 10.49.4.64
tcpdump:verboseoutputsuppressed,use-vor-vvforfullprotocoldecode
listeningoneth1,link-typeEN10MB(Ethernet),capturesize96bytes
17:54:36.80440600:13:72:65:65:e1>00:19:a9:3b:ec:00,ethertypeIPv4(0x0800),length98:10.49.4.65>10.49.4.64:ICMPechorequest,id35935,seq1,length64
17:54:36.80590800:18:8b:2d:ef:79>ff:ff:ff:ff:ff:ff,ethertypeARP(0x0806),length60:arpwho-has10.49.4.65tell10.49.4.64
17:54:36.80592700:13:72:65:65:e1>00:18:8b:2d:ef:79,ethertypeARP(0x0806),length42:arpreply10.49.4.65is-at00:13:72:65:65:e1
17:54:36.80601300:18:8b:2d:ef:79>00:13:72:65:65:e1,ethertypeIPv4(0x0800),length98:10.49.4.64>10.49.4.65:ICMPechoreply,id35935,seq1,length64
17:54:37.80489300:13:72:65:65:e1>00:19:a9:3b:ec:00,ethertypeIPv4(0x0800),length98:10.49.4.65>10.49.4.64:ICMPechorequest,id35935,seq2,length64
17:54:37.80503500:18:8b:2d:ef:79>00:13:72:65:65:e1,ethertypeIPv4(0x0800),length98:10.49.4.64>10.49.4.65:ICMPechoreply,id35935,seq2,length64
17:54:38.80510400:13:72:65:65:e1>00:19:a9:3b:ec:00,ethertypeIPv4(0x0800),length98:10.49.4.65>10.49.4.64:ICMPechorequest,id35935,seq3,length64
17:54:38.80520900:18:8b:2d:ef:79>00:13:72:65:65:e1,ethertypeIPv4(0x0800),length98:10.49.4.64>10.49.4.65:ICMPechoreply,id35935,seq3,length64
分析:
1. 第一个数据包,数据首先从10.49.4.65发送给网关; 因为路由表中有如下设置(大写G标志为经过网关):
10.49.0.0 10.49.1.1 255.255.0.0 UG 0 0 0 eth1
1
10.49.0.010.49.1.1255.255.0.0UG000eth1
(没有更精确匹配 10.49.4.64的路由了)
2. 10.49.4.64 上有如下路由配置(没有大写G,说明不需要经过网关):
10.49.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
1
10.49.0.00.0.0.0255.255.0.0U000eth1
(没有更精确匹配 10.49.4.65的路由了)
所以10.49.4.64可以直接回包给10.49.4.65; 但是10.49.4.64不知道10.49.4.65的mac地址是多少,于是先发了一个广播(第二个数据包,arp类型的),询问了一下; 10.49.4.65 回复了10.49.4.64的询问(第三个数据包,arp类型的),然后10.49.4.64就给出了icmp的响应包(第四个数据包)
总结
1. 添加一条路由,网关和接口至少指定一个
2. 只有同一个局域网下,才可以不经过网关(网关基本是有至少两块网卡的,用来连接不同的网络)
3. 指定网关的时候一般不需要同时指定接口
添加路由示例
1. 经过网关
/sbin/route add -host 10.49.4.64 gw 10.49.1.1
1
/sbin/routeadd-host10.49.4.64gw10.49.1.1
2. 不经过网关
/sbin/route add -host 10.49.4.64 eth1
1
/sbin/routeadd-host10.49.4.64eth1
php网络学习,网络学习相关推荐
- 何恺明团队新作!深度学习网络架构新视角:通过相关图表达理解神经网络
标题&作者团队 导语:恺明大神出品,必属精品.Facebook的研究员从一个新奇的角度对神经网络的表示与设计进行探索,提出了一种新颖的相关图表示方式.它有助于对现有网络架构进行更深层次的分析与 ...
- 生成对抗网络在深度学习中占据非常重要的位置
生成对抗网络在深度学习中占据非常重要的位置,其两个损失函数,既有现实道理的可行性:假冒者和侦探者,又有数学支撑的可行性:鉴别器收敛到随机判别概率0.5,还有博弈论的解释性:达到纳什均衡.深度学习中好多 ...
- 如何利用扬声器构建深度学习网络?
简 介: 来自于康纳尔大学的这篇研究论文给出了 一个利用物理系统实现深层网络学习和推理的框架.本文对于文章举例的三个系统不属于线性时不变系统进行分析.除了其中SHG系统比较复杂之外,其它两个系统(三极 ...
- Python学习网络爬虫--转
原文地址:https://github.com/lining0806/PythonSpiderNotes Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 另外,比较常用的爬虫框架Scra ...
- DL之AlexNet:AlexNet算法的架构详解、损失函数、网络训练和学习之详细攻略
DL之AlexNet:AlexNet算法的架构详解.损失函数.网络训练和学习之详细攻略 相关文章 Dataset:数据集集合(CV方向数据集)--常见的计算机视觉图像数据集大集合(建议收藏,持续更新) ...
- 【模型解读】深度学习网络之Siamese Network网络
文章首发于微信公众号<有三AI> [模型解读]深度学习网络只能有一个输入吗 继续我们之前的专栏<模型解读>,今天说多输入网络,很久没写了因为实在是有更重要的事情. 平常我们所见 ...
- 深度学习网络backbone?head、neck、bottleneck、GAP、Embedding、pretext task、downstream task、temperature parameter
一些术语: backbone这个单词原意指的是人的脊梁骨,后来引申为支柱,核心的意思.在神经网络中,尤其是CV领域,一般先对图像进行特征提取(常见的有vggnet,resnet,谷歌的inceptio ...
- VoxelNet: 基于点云的三维空间信息逐层次学习网络
量化结果.使用LiDAR检测的3D BoundingBox被投影到RGB图像 1. 论文综述 3D点云中目标的精准检测是很多应用场景的核心问题,如自动驾驶,家居机器人,虚拟/增强现实.为了将高度稀疏的 ...
- 【论文解读】深度学习网络架构新视角:通过相关图表达理解神经网络(何恺明团队新作)...
文章来源于极市平台,作者Happy 标题&作者团队 导语:恺明大神出品,必属精品.Facebook的研究员从一个新奇的角度对神经网络的表示与设计进行探索,提出了一种新颖的相关图表示方式.它有助 ...
- 【剪枝算法】通过网络瘦身学习高效的卷积网络Learning Efficient Convolutional Networks through Network Slimming论文翻译
此论文翻译仅仅用于自己方便学习.译文来自其他处. 在许多实际应用中部署深度卷积神经网络(CNN)很大程度上受到其计算成本高的限制.在本文中,我们提出了一种新的CNNs学习方案,能同时1)减小模型大小; ...
最新文章
- Hash函数的安全性
- nvm版本管理工具安装
- SignalR介绍与Asp.net
- Pytorch《DCGAN模型》
- bootstrap 兼容哪些浏览器
- jQuery Event.delegateTarget 属性详解
- 零部件表设计 T_AIS_BASE_PARTS_INFO
- BlockingQueue原理分析(ReentrantLock、Condition的实践)
- Android 仿京东分类功能实现
- 步进电机、伺服电机、舵机的理解
- sql中别名as,不写,以及使用双引号总结
- kinect沙池游戏
- A Jupyter widget could not be displayed because the widget state could not be found.
- H3C设备组网故障之广播风暴篇
- “自我炒作”雄安新区 遭监管层严打
- c语言中fflush作用,详解C语言fflush()函数的使用
- UsageStatsService之坑:一个XML解析异常导致的开机动画死循环
- sql月度分组_SQL语句按年 月 日 季度分组
- @Configuration和@Component
- 手机和电脑基于java的socket简单通信
热门文章
- 【C语言】输入10个人的成绩,求平均值
- C#LeetCode刷题之#671-二叉树中第二小的节点(Second Minimum Node In a Binary Tree)
- C#LeetCode刷题之#409-最长回文串(Longest Palindrome)
- linux文件权限之suid,sgid,粘贴位
- 程序员为什么觉得会议很无聊_我从100个无聊的会议中学到的难忘的教训
- 全球最大的市场在_我如何扩展全球最大的音乐工作室市场
- 120_PowerBI堆积瀑布图_R脚本Visual
- java 打印_剑指Offer面试题20(Java版):顺时针打印矩阵
- Simulink随手记
- Python18行代码做出来这样有点浪漫,又有点极客的“内涵”图