计算机网络 day6

news2024/12/25 23:46:12

目录

arp协议

arp病毒\欺骗

arp病毒的运行原理

arp病毒产生的后果:

解决方法:

ICMP协议

ICMP用在哪里?    

ICMP协议数据的封装过程

​编辑

为什么icmp协议封装好数据后,还要加一个ip包头,再使用ip协议再次进行封装,也就是在网络层封装了2次? 

2种类型的ICMP数据包

1、echo request 请求包(类型 为 8)

2、echo reply 响应包(类型 为 0)

ping命令

ping命令的选项

如果ping一台服务器ping不通,可能有哪些原因?

路由追踪(tracepath)

Linux手工配置ip地址

步骤:

1.进入网卡配置文件的目录

2.修改配置文件 ifcfg-ens33

dhcp动态获得的ip地址 (动态IP地址)

静态(桥接模式)获得的ip地址(静态IP地址)

3.重新启动服务,让新的配置生效

4,使用命令查看效果

模拟出错:

1.ip地址有问题    

2.网关出错

3.dns服务器出错


arp协议

将ip解析到对应的mac地址

arp病毒\欺骗

        离间计 和 三人成虎的故事

arp病毒的运行原理

欺骗目标:ARP病毒利用ARP协议的缺陷(arp缓存表)伪造或篡改ARP响应包,将自己的MAC地址误导为目标设备的MAC地址,从而欺骗其他设备。就是让你的arp缓存表里的网关的mac地址发生变化,使用它告诉你的新的mac地址

向局域网中的其他设备发送虚假的ARP响应包,将合法的IP地址与错误的MAC地址关联起来。这样一来,通信数据将被发送到错误的设备,导致通信中断或被攻击者截获。

arp病毒产生的后果:

arp病毒会导致整个局域网上不了网

让局域网里的机器找不到正确的网关对应的mac地址

解决方法:

安装防火墙(火绒防火墙、电脑管家)

静态绑定正确的网关的mac地址:arp -s命令

ICMP协议

ICMP(Internet Control Message Protocol)Internet控制报文协议。(探路)

它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。

ICMP协议属于网络层协议

控制消息:网络通不通、主机是否可达、路由是否可用等网络本身的消息。

这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。        

报文:某种格式的数据 --》 报告某些信息的文字

ICMP用在哪里?    

icmp协议就是一个探路的协议,用来在主机和路由器之间主机和主机之间,探测网络是否畅通,数据传输前需要测试时使用(ping 命令使用的就是ICMP协议

ICMP协议数据的封装过程

(icmp头部占8个字节)

为什么icmp协议封装好数据后,还要加一个ip包头,再使用ip协议再次进行封装,也就是在网络层封装了2次? 

答案: 因为icmp协议里没有写明从哪里来,到哪里去,但是ip协议的包头有源ip和目的ip
    icmp协议寄生在ip协议里--》寄人篱下

2种类型的ICMP数据包

1、echo request 请求包(类型 为 8)

2、echo reply 响应包(类型 为 0)

ping命令

用于测试网络的速度和稳定性

ping命令的选项

0% packet loss   --》 丢包率

time=26.5 ms  --》响应的时间

-s  --》 数据包大小

ping之死
icmp协议携带的数据比较多  ---》别人送多少数据过来,你要回复多少数据。   

很多人同时发送数据过来,导致你的服务器忙不过来,消耗了你的服务器的cpu,内存,网络带宽资源

-c  --》 发送数据包的数量

-i   --》 时间间隔  (默认1秒,可以设置为0.1秒,很快就完成了)

-w --》 期限  总共只有1秒

-W --》超时时间(ping不通的时候,最多等待多久)(如:每个ping包有1秒的时间,如果有5个ping包,就有5秒的时间)

 

防火墙:禁止icmp的请求报文   --》 可以禁止ping

[root@node1 ~]# iptables -A INPUT  -p icmp --icmp-type 8 -j DROP
iptables 是linux里的防火墙

-A INPUT   在INPUT位置追加一条规则  append

-p icmp 指定协议是icmp
--icmp-type 8  指定icmp协议的类型  8 表示请求报文
-j DROP 采取的动作是丢弃

[root@node1 ~]# iptables -L  查看防火墙
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       icmp --  anywhere             anywhere             icmp echo-request

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
[root@node1 ~]# 

[root@node1 ~]# iptables -F  清除防火墙规则  flush
[root@node1 ~]# iptables -L   查看防火墙规则 list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
[root@node1 ~]# 

如果ping一台服务器ping不通,可能有哪些原因?

1、服务器挂了

2、开启了防火墙( iptables -A INPUT -p icmp --icmp-type 8 -j DROP)

3、运营商(中间线路段了、宽带被剪了、被老鼠咬断了)

4、家里的路由器的问题

解决方法:

1、一路ping过去

2、先检查网络是否联通

3、检查ip地址

4、dns

5、网关

路由追踪(tracepath)

追踪命令:(知道数据传输的路径)

tracepath www.baidu.com     #linux里面使用
C:\Users\Administrator>tracert 114.114.114.114      #Windows里面使用

初始的ttl为1

利用了路由器对ip包进行检查,如果ttl值为0不进行转发,同时给一个回复,这样我们的电脑就知道了路由器的ip地址

[root@master ~]# tracepath www.baidu.com
 1?: [LOCALHOST]                                         pmtu 1500
 1:  gateway                                               2.887ms 
 1:  gateway                                               5.486ms 
 2:  gateway                                               2.139ms pmtu 1492
 2:  100.74.32.1                                          82.594ms 
 3:  no reply
 4:  61.137.16.205                                        31.550ms 
 5:  no reply
 6:  113.96.5.66                                          28.942ms 
 7:  121.14.14.162                                        90.946ms 
 8:  14.29.117.130                                       471.459ms 
 9:  no reply
10:  no reply
11:  no reply
12:  no reply

Linux手工配置ip地址

步骤:

1.进入网卡配置文件的目录

[root@fengdeyong ~]# cd  /etc/sysconfig/network-scripts/  目录的路径
[root@fengdeyong network-scripts]# ls  查看内容
ifcfg-ens33
[root@fengdeyong network-scripts]#

2.修改配置文件 ifcfg-ens33

interface  接口
config  配置
ens33 是具体的接口的名字

ifcfg-lo  环回接口的配置  loopback

dhcp动态获得的ip地址 (动态IP地址)

[root@fengdeyong network-scripts]# vim ifcfg-ens33
BOOTPROTO="dhcp"     none或者static 表示静态配置ip 。dhcp表示动态获得ip地址,通过dhcp服务器的分配。
NAME="ens33"     网络连接的名字
UUID="3731ce87-93c1-4a78-8b53-250305312616"  网络连接的唯一标识,一个硬件会对应一个编号,这个编号自动生成,不需要修改
DEVICE="ens33"  设备名字
ONBOOT="yes"    yes表示开机的时候激活这个网络连接  no 禁用这个网络连接

centos8里
    当BOOTPROTO=dhcp的时候,会动态获得ip地址,如果下面也静态指定了ip地址,也会生效
centos7里
    当BOOTPROTO=dhcp的时候,会动态获得ip地址,如果下面也静态指定了ip地址,不会生效 

静态(桥接模式)获得的ip地址(静态IP地址)

[root@fengdeyong network-scripts]# vim ifcfg-ens33

BOOTPROTO="none"  none或者static 表示静态配置ip 。dhcp表示动态获得ip地址,通过dhcp服务器的分配。
NAME="ens33"   网络连接的名字
UUID="12b5a8c4-d319-4d70-ae1f-9d1fff3b2660"  网络连接的唯一标识,一个硬件会对应一个编号,这个编号自动生成,不需要修改
DEVICE="ens33"  设备名字
ONBOOT="yes"    yes表示开机的时候激活这个网络连接  no 禁用这个网络连接
IPADDR=192.168.0.203   ip地址   ip  address
PREFIX=24              子网掩码的长度为24  相当于 255.255.255.0
#NETMASK=255.255.255.0  子网掩码为255.255.255.0
GATEWAY=192.168.0.1    默认网关 gate  way 

DNS1=114.114.114.114   首选dns服务器
DNS2=192.168.0.1    备用dns服务器

linux的服务器里ip基本上都是固定的,静态指定的

3.重新启动服务,让新的配置生效

centos8里
	 ifup ens33
centos7里
	service  network  restart  刷新网络服务
[root@node1 network-scripts]# service network restart
Restarting network (via systemctl):                        [  确定  ]
[root@node1 network-scripts]#
[root@fengdeyong network-scripts]# cat  /etc/centos-release
CentOS Linux release 8.1.1911 (Core)
[root@fengdeyong network-scripts]#

centos8里
	当BOOTPROTO=dhcp的时候,会动态获得ip地址,如果下面也静态指定了ip地址,也会生效
centos7里
	当BOOTPROTO=dhcp的时候,会动态获得ip地址,如果下面也静态指定了ip地址,不会生效

4,使用命令查看效果

ip add 查看IP地址和MAC地址

ip route 查看网关地址(路由器LAN口地址)

cat /etc/resolv.conf   查看dns服务器地址

[root@node1 network-scripts]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:11:3c:28 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.125/24 brd 192.168.2.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe11:3c28/64 scope link 
       valid_lft forever preferred_lft forever

[root@node1 network-scripts]# ip route
default via 192.168.2.1 dev ens33 proto static metric 100 
192.168.2.0/24 dev ens33 proto kernel scope link src 192.168.2.125 metric 100
 
[root@node1 network-scripts]# cat /etc/resolv.conf   查看dns服务器地址
# Generated by NetworkManager
nameserver 114.114.114.114
nameserver 192.168.0.1
[root@node1 network-scripts]# 
resolve 解析  --》域名解析 --》dns服务器 帮助我们去解析一个域名对应的ip地址
config  配置

ifcfg-ens33 和/etc/resolv.conf 之间关系

ifcfg-ens33 文件里的DNS1和DNS2会决定resolv.conf里的nameserver的值

/etc/resolv.conf  是我们在域名查询的时候,去访问的dns服务器的文件  --》真正有用的文件是resolv.conf

模拟出错:

1.ip地址有问题    

2.网关出错

[root@node1 network-scripts]# ping 14.119.104.189
connect: 网络不可达
[root@node1 network-scripts]# 

3.dns服务器出错

[root@node1 network-scripts]# ping www.baidu.com
ping: www.baidu.com: 未知的名称或服务
[root@node1 network-scripts]# 
[root@node1 network-scripts]# ping 14.119.104.189
PING 14.119.104.189 (14.119.104.189) 56(84) bytes of data.
64 bytes from 14.119.104.189: icmp_seq=1 ttl=54 time=32.2 ms
64 bytes from 14.119.104.189: icmp_seq=2 ttl=54 time=26.3 ms
64 bytes from 14.119.104.189: icmp_seq=3 ttl=54 time=26.1 ms
^C
--- 14.119.104.189 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 26.119/28.221/32.202/2.822 ms
[root@node1 network-scripts]#

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/749256.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【UE4 C++】08-生成抛射物来模拟攻击效果

步骤 新建一个C类&#xff0c;父类为Actor&#xff0c;命名为“ASMagicProjectile” 在“ASMagicProjectile.h”中添加如下代码&#xff1a; 在“ASMagicProjectile.cpp”中添加如下代码&#xff1a; 编译后在虚幻编辑器中新建一个蓝图&#xff0c;选择父类为我们刚创建的C类…

vscode插件开发之终端那些事儿

在开发vscode插件的时候&#xff0c;好几个设计都需要集成终端。 查资料后发现vsocd为开发者提供了丰富的终端API。 结合我自己的需求来展开终端的那些事儿吧&#xff1a; 从treeview中点击触发打开一个终端 无关的代码省略&#xff1a; vscode.window.createTerminal({name…

python+selenium进行cnblog的自动化登录测试

Web登录测试是很常见的测试&#xff0c;手动测试大家再熟悉不过了&#xff0c;那如何进行自动化登录测试呢&#xff01;本文就基于pythonselenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动化登录测试&#xff0c;可提供点参考&#xff01;下面就包括测试代…

有没有好的PC端和移动端都能用的便签app?

生活在快节奏的社会环境中&#xff0c;我们每天都要面对大量的事务。为了更好地管理任务和时间&#xff0c;便签app成为了越来越多人选择的工具。因为&#xff0c;便签app不仅能帮助我们记录并安排日常事务&#xff0c;还可以设置提醒事项&#xff0c;准时发送提醒通知告诉我们…

数学建模——插值算法

概念&#xff1a;数模比赛中&#xff0c;常常需要根据有已知的函数点进行数、模型处理和分析&#xff0c;而有时候现有的数据是极少的&#xff0c;不足以支撑分析的进行&#xff0c;这时就需要使用一些数学的方法&#xff0c;“模拟产生“一些新的但又比较靠谱的值来满足需求&a…

为什么很多人说不建议学JAVA,说很难找到工作?

前言 在回答这个问题之前&#xff0c;我曾经也看到了类似的其他语言相关的问题&#xff1a; 那么现在问题来了&#xff0c;什么语言都不建议学&#xff0c;那什么是可以学的呢&#xff1f;看多了所谓的不建议学习的文章和回答固然可以了解到该语言的些许缺点和当前环境下的一些…

NTLM协议

0x01 LM Hash加密算法 LM Hash本质是一个DES加密&#xff0c;从Windows Vista和Windows Server 2008开始就禁用了LM Hash。LM Hash明文密码被限定在14位以内&#xff0c;密码超过14位则会停止使用LM Hash。下面介绍一下LM Hash的加密流程&#xff0c;以Pss1234为例&#xff1a…

Element-Plus搭建CMS页面结构 引入第三方图标库iconfont(详细)

Element-Plus组件库使用 element plus组件库是由饿了么前端团队专门针对vue框架开发的组件库&#xff0c;专门用于电脑端网页的。因为里面集成了很多组件&#xff0c;所以使用他可以非常快速的帮我们实现网站的开发。 安装&#xff1a; npm install element-plus --save 引入…

制作Visual Studio离线安装包

vs2015之后官网就不提供离线安装包了&#xff0c;使用离线安装包就需要自己手动制作一个&#xff1b; 以vs2019为例&#xff1a; 先去官网下载在线安装器 官网下载地址&#xff1a;Visual Studio 较旧的下载 - 2019、2017、2015 和以前的版本 (microsoft.com) 展开2019的标签…

表格tr根据内容撑开高度并且每个td继承tr的高度(height:inherit,align-items: stretch)

项目设计图 实际上数据又长又短&#xff0c;例如类型有可能出现2行甚至3行的字数&#xff0c;所以整个行要适配最高的高度&#xff0c;然后其他子元素继承行的高度。 ps&#xff1a;原生的table或者uview的u-table都不怎么好使&#xff0c;所以用view来做 在做的过程中出现高度…

澎湃认证:浪潮信息携手可利邦推出隐私计算一体机解决方案

北京可利邦与浪潮信息联合发布隐私计算一体机解决方案&#xff0c;以浪潮信息inMerge超融合产品为基础设施平台&#xff0c;预装可利邦隐私计算软件平台&#xff0c;通过SRDC一体机进行整机柜交付&#xff0c;助力客户快速上线隐私计算应用系统。该方案已通过浪潮信息澎湃技术认…

Node连接Mongodb数据库

1.初始化 npm init 2.安装mongoose npm i mongoose 3.导入mongoose const mongooserequire("mongoose") 4.连接mongodb服务 mongoose.connect("mongodb://127.0.0.1:27017/user") 说明&#xff1a;mongodb是协议,user是数据库&#xff0c;如果没有会自动创…

Oracle通过函数调用dblink同步表数据方案(全量/增量)

创建对应的包&#xff0c;以方便触发调用 /*包声明*/ CREATE OR REPLACE PACKAGE yjb.pkg_scene_job AS /*创建同步任务*/FUNCTION F_SYNC_DRUG_STOCK RETURN NUMBER;/*同步*/PROCEDURE PRC_SYNC_DRUG_STOCK(RUNJOB VARCHAR2) ; END pkg_scene_job; /*包体*/ CREATE OR REPL…

Dubbo最核心功能——服务暴露的配置、使用及原理

系列文章目录 【收藏向】从用法到源码&#xff0c;一篇文章让你精通Dubbo的SPI机制 面试Dubbo &#xff0c;却问我和Springcloud有什么区别&#xff1f; 超简单&#xff0c;手把手教你搭建Dubbo工程&#xff08;内附源码&#xff09; 文章目录 系列文章目录前言一、服务暴露的…

idea乱码解决方式大汇总

目录 idea版本&#xff1a; 解决方法&#xff1a; 一、基本方法 1. File -> Settings -> Editor 2. 二、Maven乱码解决方法 三、运行时乱码解决方法 四、因为以前乱设置导致的乱码 idea版本&#xff1a; 解决方法&#xff1a; 一、基本方法 1. File -> Setti…

ETHERCAT主站网关转DEVICENET连接支持ethercat总线的PLC

大家好&#xff0c;今天要和大家分享一款自主研发的通讯网关——远创智控YC-ECTM-DNT。这款产品可是解决了不同协议设备数据交换的麻烦问题&#xff0c;让我们一起来看看它的神奇之处吧&#xff01; 这款通讯网关有什么特别的呢&#xff1f;首先&#xff0c;它可以连接DEVICENE…

vue2 element-ui el-cascader地址省市区分开单独写

使用 npm 或 yarn 安装 element-china-area-data 包&#xff1a; npm install element-china-area-data 在你的代码中导入 element-china-area-data import { regionData } from element-china-area-data let that; 完整代码 <template><div><el-form ref&quo…

Zookeeper概述及部署

Zookeeper概述及部署 一、Zookeeper 定义二、Zookeeper 特点三、Zookeeper 数据结构四、Zookeeper 应用场景五、Zookeeper选举机制● 第一次启动选举机制● 非第一次启动选举机制 六、部署 Zookeeper 集群1.安装前准备2.安装 Zookeeper 一、Zookeeper 定义 Zookeeper是一个开源…

leetcode:LCP 06. 拿硬币(python3解法)

难度&#xff1a;简单 桌上有 n 堆力扣币&#xff0c;每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆&#xff0c;拿走其中的一枚或者两枚&#xff0c;求拿完所有力扣币的最少次数。 示例 1&#xff1a; 输入&#xff1a;[4,2,1] 输出&#xff1a;4 解释&#xff1a…

mysql-分页数据重复

背景说明 分页查询不同页出现重复数据&#xff0c;底层实现都是使用limit select * from tt1 limit 100,50 第101条开始的50条数据 select * from tt1 limit 100 前100条记录 select * from tt1 limit 100 offset 50 从51条开始&#xff0c;显示后面的100条 原因分析 以前碰…