ARP渗透与攻防(一)之ARP原理
vim 的学习经历是曲折的,但一旦上手后就会觉得用起来很爽,我从三年前开始接触linux ,使用vim 起,到现在也才掌握着vim 常用命令,只要用熟了就能用的得心应手!
先说下vim 的三种工作模式:
命令模式
文本模式
末尾模式
从命令模式进入到为文本模式有8个命令:a/A,i/I,o/O,s/S ,看下这几个命令有什么区别:
命令 说明
a 在当前光标后进行编辑
A 将光标定位在行尾进行编辑
i 在光标处进行编辑
I 将光标定位在行首进行编辑
o 在光标所在行向下插入一行进行编辑
O 在光标所在行向上插入一行进行编辑
s 删除当前光标所在字符并进行编辑
S 删除当前行内容,并将光标定位在行首进行编辑
除了以上表列出来的外,在命令行模式下还可按下 c + w ,即从光标所在位置删除至单词的尾部并且进入文本模式。
1.命令行模式常用命令:
光标移动命令:
最简单的莫过于上下左右移动光标了,可以使用小键盘的上下左右,但不推荐哦,请使用 上(k)、下(j)、左(h)、右(l)键 替代。
上面是字符级别的光标移动,还有单词级别的光标移动,比如:
w :跳转到下一个单词首字母
b :跳转到上一个单词首字母
e :跳转到下一个单词尾部
ps:w、b、e这几个单词,小写和大小功能是一样的。
下面看下行级光标移动:
0(阿拉伯数字0) :光标移动到行首
$ : 光标移动到行尾
^(shift + 6):光标移动到行首
段落级(翻屏)光标移动:
{:上(本)个段落首部
}:下(本)个段落尾部
屏幕级(不翻屏)光标移动:
H : 当前屏幕首部
L : 当前屏幕尾部
M : 当前屏幕中间
Ctrl-d : 向下翻半屏
Ctrl-u : 向上翻半屏
Ctrl-f : 向下翻一屏
Ctrl-b : 向上翻一屏
文档级光标移动:
gg : 定位到当前文档第一行
G : 定位到当前文档尾部
nG : 移动到第n行 (1G 第一行)
复制粘贴剪切删除命令:
删除:
删除当前光标字符:x
删除当前光标前的一个字符:X
删除一个单词:dw
删除当前光标至行尾的字符:D
删除当前行:dd
向后删除多行内容: n + dd (比如 5dd ,表示从当前光标开始删除5行)
上面说过0是把光标移动到行尾,$是把光标移动到行首。组合键 d0 是把光标前的字符给删除,d$ 是把当前光标 后的字符给删除。
ps: 在命令行模式下,敲入 u 可以撤销上一步操作,ctrl + r 组合键可以反撤销。
剪切:
在vim下 , dd 后并不会立马删除,而是会写入到缓冲区中,所以,在vim 下剪切是 删除dd(删除有多种命令,这里只拿dd来举栗) 后 再按下 粘贴p 。
操作示例:
这是操作前的内容状态:
然后按下6dd:
然后将光标移动到要剪切的位置,按下p(小写),即可在光标后一行剪切内容,完成操作。
按下P(大写),即可在光标前一行剪切内容。
上面操作演示了剪切操作,还体现了p和P命令的区别。
复制:
复制当前行的命令是:yy
复制多行的命令是: n + yy (包括光标当前行)
操作演示:
ps:这里按下的是小写p,p 是指paste ,粘贴的意思,小写p是指在光标后粘贴,大写P是指在光标前粘贴。
看到这里不知道你有没有个疑问?我要是操作不连续的内容怎么办?比如:我有这样的一个需求,复制第一整行和第二行部分内容,那我要怎么操作呢?
vim 还有一种工作模式,上面没有提到,那即是可视模式,在命令模式下按 v 键 即可进入。在可视模式下,即可选择连续的文本来进行操作。
在命令模式下,
按下 v 进入可视模式,并且进行文本选择
选中相应的文本后,按下y(复制),然后光标移动到20行(20G),按下p,即可完成复制。
ps: 是y ,而不是yy ,两者虽然都是复制,但行为却不一样的哦。y 可以复制连续的文本,而且yy不行,而且在可视模式下,p(小写) 的行为也是不一样的哦,在当前案例中并没有在第21行复制(在命令模式下,p操作是在当前光标所在行下面进行的粘贴),而是在第20行复制的。
其它删除剪切操作类似。
在命令模式下搜索
/string
向下搜索字符string ,此时在遍历时,N 是上一个,n 是下一个。
?string
向上搜索字符string ,此时在遍历时,N 是下一个,n 是上一个。
# 在关键字上按下 #
此时,我将光标移动到了 第 21 行 list 这个单词的 l 上
然后按下:# 键
然后即可按n / N 键进行遍历。
在命令模式下,按下 r 键 即可进行单字符的替换操作。
在命令模式下进行系统函数跳转:
有些时候我们在写 C/C++ 的时候,需要查看下系统函数,这时候我们在命令模式下,可以敲下 K ,即可进入函数帮助文档,但如果所查找函数又是系统提供的命令,那就需要提供准确的章节。
按下 K (大写) ,即可进入到函数详情
但会发现,根本不是我们想要的内容,我们要的是Linux Programmer's Manual 这一章节的内容啊。那要怎么才能进入到我们想要的页面呢?上面也说了,加上具体章节。 3 + K 即可。
然后就跳转到了我们想要看的内容页面,如果想返回按下q 即可退出。
这里在提下,如果需要缩进的话,可以按下: >> (两个大于号,向右缩进)和 << (两个小于号,向左缩进) 。
下面说下末行模式的一些操作
前面说了,从命令模式中按下: 即可进入到末行模式。
在末行模式下替换:
替换当前光标所在行所匹配内容:
模式: :s/替换的内容/要替换为的内容 (替换光标所在行第一个 )
在要替换为的内容后面加g 表示全局替换(当前行全局)。
:s/替换的内容/要替换为的内容 /g (替换光标所在行的全部目标)
上面的命令操作只是在当前光标所在行进行的替换操作。
也可以带上具体的行号来操作 :
我们把36到40行的man 来替换成手册
在末行模式下,输入:
:36,40s/man/手册/g
即可。
当然,如果你想全文档内进行替换,那么可以这样做
:%s/man/手册/g
%表示在所有行内。
有时候,我们需要像其它编辑器一样,需要分屏打开不同的文件(或相同的文件),那这个在vim 中怎么做呢?在vim 中可以末行模式下用sp (split 分割的意思) fileName 来实现。
水平分屏 ( sp ):
在末行模式下: sp fileName 即可。
我这里是 vim 在已经打开的文件下(man.txt) ,再进入末行模式,键入:sp 1.txt 就OK啦。
垂直分屏( vsp ):
v -- vertical 垂直
:vsp fileName
我这里是 vim 在已经打开的文件下(man.txt) ,再进入末行模式,键入:vsp 1.txt 就OK啦。
好了,分屏后,如何进行光标的切换呢? 在vim 下 ,按下 ctrl + w l两次 ,即可把光标从屏幕一侧切换到另一侧。
显示行号:set number (或者 set nu )
取消行号:set nonu
在vim 种还可以执行其它的命令的,具体使用方法:
:! cmdName
示例 :
在末行模式下,敲入:! ls -l
按下回车键:
然后按下回车键即可再次进入到vim .
当要保存的时候,可以按下:w ,wq 保存并退出,shift + z (两次,即大Z两次)即可保存并退出,wq all 报存所有的并退出vim。
退出可按:q ,强制退出:q! (q + !) 。
ps:如果你不小心在vim 下按了 ctrl + s (也就是常用的保存),那么linux会进入"假死" 状态,要结束这种状态,按下ctrl + q 即可退出这种状态!!
要从末行模式退出到命令模式,按下两次esc 即可!
到四川旅游,7天6晚深度游,1人1000左右,吃住行全包!
四川旅游网
广告
vim常用命令总结
38下载·1评论
2018年11月12日
linux vi dd命令详解,Linux dd命令详解:数据备份,并在备份过程中进行格式转换...
1527阅读·0评论·0点赞
2021年5月11日
linux选择复习题
4256阅读·2评论·3点赞
2023年6月14日
vi 命令
148阅读·0评论·0点赞
2011年4月2日
vim多行编辑、多行删除
9.6W阅读·2评论·40点赞
2019年8月30日
Vi常用命令
988阅读·0评论·0点赞
2009年6月29日
四川5-8日游,2人五折,吃住游全包:成都+九寨+黄龙+峨眉+乐山
四川旅游咨询预约
广告
Linux vim常用命令
7下载·0评论
2022年1月24日
Vim常用命令.pdf
0下载·0评论
2024年4月15日
一张图记住 Vim 常用命令
20下载·0评论
2021年1月9日
Linux实训vim编辑器的应用,Linux实训例题(vim编辑器)
1272阅读·0评论·0点赞
2021年5月17日
Linux常用命令以及命令的基本使用
1093阅读·0评论·0点赞
2021年4月12日
【L
inux】Shell与文本处理实训
3.3W阅读·6评论·83点赞
2022年4月18日
捡漏!冰种翡翠手镯,1000元起!当铺清库存放漏,翡翠低价处理
00:39
盾构翡翠
查看详情
盾构翡翠
广告
Linux之vim编辑器
171阅读·0评论·0点赞
2020年10月10日
VIM 使用技巧
671阅读·0评论·0点赞
2008年7月17日
vim常用命令1
1下载·0评论
2022年8月8日
vim常用命令整理
6下载·0评论
2012年8月3日
VIM常用命令大全
5下载·0评论
2011年10月11日
去首页
看看更多热门内容
1. 让vim显示文本颜色
在用户目录下新建.vimrc文件,然后输入”syntax on”,打开语法高亮显示
2. 命令行模式(command mode)功能键
vim picture
按「a」进入插入模式后 是从目前光标所在位置的下一个位置开始输入文字
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
从插入模式切换为命令行模式按「ESC」键。
按数字「0」:移到行的开头。
按「G」:移动到文章的最后。
按「$」:移动到光标所在行的“行尾”。
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「ge」:与e相反
按「b」:光标回到上个字的开头
按「H」:光标回到文章开头
按「M」:光标移到文章中间
按「L」:光标回到文章结尾
按[gg] 到文件首
按[gd] 到变量声明
按「#l」:光标移到该行的第#个位置
如:5l,56l 移动到该行第5,56个位置
%:移动到与制匹配的括号上去(),{},[],<>等。
shift + < 左移一行
shift + > 右移一行
屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
CTRL+G 得到当前光标在文件中的位置
「x」: 每按一次,删除光标所在位置的“后面”一个字符。
「nx」: 例如,「6x」表示删除光标所在位置的“后面”6个字符。
「X」: 大写的X,每按一次,删除光标所在位置的“前面”一个字符。
「nX」: 例如,「20X」表示删除光标所在位置的“前面”20个字符。
「dd」: 删除光标所在行。
「ndd」: 从光标所在行开始删除n行
「dw」: 删除光标后的一个单词.
「db」: 删除光标前的一个单词
「d0]:删至行首
「d$]:删至行尾
「yw」: 将光标所在之处到字尾的字符复制到缓冲区中。
「nyw」: 复制n个字到缓冲区
「yy」: 复制光标所在行到缓冲区。
「nyy」: 例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」: 将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
「r」: 替换光标所在处的字符。
「R」: 替换光标所到之处的字符,直到按下「ESC」键为止。
「u」: 如果您误执行一个命令,可以按下「u」回到上一个操作。按多次“u”可以执行多次回复。
「cw」: 更改光标所在处的字到字尾处
「cnw」: 例如,「c3w」表示更改3个字
「ctrl」+「g」 列出光标所在行的行号。
「nG」:例如,「15G」,表示移动光标至文章的第15行行首。
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
'. 此命令相当强大, 它移动光标到上一次的修改点.
c-p(c-n) 在编辑模式中, 输入几个字符后再输入此命令则 vi 开始向上(下)搜
索开头与其匹配的单词并补齐, 不断输入此命令则循环查找. 此命令
会在所有在这个 vim 程序中打开的文件中进行匹配.
3. Last line mode下命令简介
在使用「last line mode」之前,请记住先按「ESC」键确定您已经处于「command mode」下后,再按「:」冒号即可进入「last line mode」
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
光标移到起始行,输入ma
光标移到结束行,输入mb
光标移到粘贴行,输入mc
然后 :'a,'b co 'c
ZZ:保存当前文档并退出VIM
m[a-z]:在文中做标记,标记号可为a-z的26个字母,用`a可以移动到标记a处
:read file.c 将文件file.c的内容插入到当前光标所在的下面
:0read file.c 将文件file.c的内容插入到当前文件的开始处(第0行)
:nread file.c 将文件file.c的内容插入到当前文件的第n行后面
:read !cmd :将外部命令cmd的输出插如到当前光标所在的下面
把 co 改成 m 就成剪切了
:w filename (将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
:n 如输入数字15,再回车,就会跳到文章的第15行。
:/关键字 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
: ?关键字 先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
4. 行号与文件
命令模式下,可以规定命令操作的行号范围。数值用来指定绝对行号;字符“.”表示光标所在行的行号;字符“$”表示正文最后一行的行号;简单的表达式,例如“.+5”表示当前行往下的第 5 行。例如:
:345 将光标移到第 345 行
:345w file 将第 345 行写入 file 文件
:3,5w file 将第 3 行至第 5 行写入 file 文件
:1,.w file 将第 1 行至当前行写入 file 文件
:.,$w file 将当前行至最后一行写入 file 文件
: .,.+5w file 从当前行开始将 6 行内容写入 file 文件
:1,$w file 将所有内容写入 file 文件,相当于 :w file 命令
在命令模式下,允许从文件中读取正文,或将正文写入文件。
例如:
:w 将编辑的内容写入原始文件,用来保存编辑的中间结果
:wq 将编辑的内容写入原始文件并退出编辑程序(相当于 ZZ 命令)
:w file 将编辑的内容写入 file 文件,保持原有文件的内容不变
:a,bw file 将第 a 行至第 b 行的内容写入 file 文件
:r file 读取 file 文件的内容,插入当前光标所在行的后面
:e file 编辑新文件 file 代替原有内容
:f file 将当前文件重命名为 file
:f 打印当前文件名称和状态,如文件的行数、光标所在的行号等
恢复文件,该文件被删除,若意外退出,而没有保存文件的最新修改内容,则可以使用恢复命令:
:recover 恢复文件也可以在启动 vi 时利用 -r 选项。
:e 文件名 编辑另一文件
:e ! 重新编辑文件,放弃任何改变
:sh 执行sh,结束后回到编辑
:! 命令 执行命令后回到编辑
:n 编辑下一文件
:n 文件表 重新定义待编辑文件表
set 设置 vi 的选项,例如
: set nu 表示每行前显示行号,在选项前加no则表示清除该选项,例如
:set nonu 表示每行前不显示行号,下面是一些常用的选项:
:set ai 自动缩进
:set aw 编辑下一文件前自动存盘
:set ic 查找字符串时不区分大小写
:set nu 每行前显示行号
:set sm 输入)及}时显示与之配对的( 或 {
:set slow 插入时延迟屏幕刷新
:set ws 使查找能绕过文件尾从头进行
:set wa 写文件之前不作对文件的检查
5. 常见问题及应用技巧
1.在一个新文件中读/etc/passwd中的内容,取出用户名部分。
vi file :r /etc/passwd 在打开的文件file中光标所在处读入/etc/passwd
:%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分。
您也可以在指定的行号后读入文件内容,例如使用命令“:3r/etc/passwd”从新文件的第3行开始读入/etc/passwd的所有内容。
我们还可以使用以下方法删掉文件中所有的空行及以#开始的注释行。
#cat squid.conf.default | grep -v ‘^$’ | grep -v ‘^#’
2.在打开一个文件编辑后才知道登录的用户对该文件没有写的权限,不能存盘,需要将所做修改存入临时文件。
vi file :w/tmp/1保存所做的所有修改,也可以将其中的某一部分修改保存到临时文件,例如仅仅把第20~59行之间的内容存盘成文件/tmp/1,我们可以键入如下命令。
vi file
:20,59w /tmp/1
3.用VI编辑一个文件,但需要删除大段的内容。
首先利用编辑命令“vi file”打开文件,然后将光标移到需要删除的行处按Ctrl+G显示行号,再到结尾处再按Ctrl+G,显示文件结尾的行号。
:23,1045d假定2次得到的行号为23和1045,则把这期间的内容全删除,也可以在要删除的开始行和结束行中用ma、mb命令标记,然后利用“:’a,’bd”命令删除。
4.在整个文件的各行或某几行的行首或行尾加一些字符串。
vi file :3,$s/^/some string / 在文件的第一行至最后一行的行首插入“some string”。
:%s/$/some string/g 在整个文件每一行的行尾添加“some string”。
:%s/string1/string2/g 在整个文件中替换“string1”成“string2”。
:3,7s/string1/string2/ 仅替换文件中的第3行到第7行中的“string1”成“string2”。
注意: 其中s为substitute,%表示所有行,g表示global。
5.同时编辑2个文件,拷贝一个文件中的文本并粘贴到另一个文件中。
vi file1 file2 yy 在文件1的光标处拷贝所在行
:n 切换到文件2 (n-next)
p 在文件2的光标所在处粘贴所拷贝的行
:n 切换回文件1
6.替换文件中的路径。
使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin换成/bin。也可以使用命令“:%s//usr/bin//bin/g”实现,其中“”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符。
举一个复杂的例子,把文中的所有字符串“abc……xyz”替换为“xyz……abc”可以有下列写法:
:%s/abc/(.*/)xyz/xyz/1abc/g
:%s//(abc/)/(.*/)/(xyz/)//3/2/1/g
* diff 模式
专门用于比较编辑两个或多个内容相近的文件的模式。一般来说,比如你要比较编辑 A 跟 B 两个文件,你可以命令行启动 vim - d A B 或者这样:先打开文件 A,然后 :vsplit 打开文件 B,对文件 A 和 B 都输入命令 :diffthis。这时 VIM 将非常清晰的对比显示出两个文件的不同之处,编辑起来十分方便。
9. TAB
TAB 就是制表符, 单独拿出来做一节是因为这个东西确实很有用.
<< 输入此命令则光标所在行向左移动一个 tab.
>> 输
入此命令则光标所在行向右移动一个 tab.
5>> 输入此命令则光标后 5 行向右移动一个 tab.
:12,24> 此命令将12行到14行的数据都向右移动一个 tab.
:12,24>> 此命令将12行到14行的数据都向右移动两个 tab
系列文章
ARP渗透与攻防(一)之ARP原理ARP渗透与攻防(二)之断网攻击
ARP渗透与攻防(三)之流量分析
ARP渗透与攻防(四)之WireShark截获用户数据
ARP渗透与攻防(五)之Ettercap劫持用户流量
ARP渗透与攻防(六)之限制网速攻击
ARP渗透与攻防(七)之Ettercap Dns劫持
ARP渗透与攻防(八)之ARP攻击防御
ARP攻击防御
ARP渗透与攻防(一)之ARP原理
ARP原理
前言
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
ARP协议
一.环境准备
1.准备kali虚拟机 (原理演示机)IP:192.168.110.26
2.准备centos7虚拟机 (靶机)IP:192.168.110.13
二.ARP协议工作原理
什么是ARP
地址解析协议,即ARP(Address Resolution Protocol),是根据 IP地址获取 物理地址的一个 TCP/IP协议。
工作原理
ARP协议规定,每台计算机都需要一个ARP表,用来保存IP地址和MAC地址的映射关系 。访问IP地址的时候就去查ARP表,从而找到对应的MAC地址。
如果ARP表中匹配不到,就会使用广播的方式发送一个ARP请求 ,目标主机收到请求后会使用单播的方式返回一个ARP响应,告知自己的MAC地址 。
拿到MAC地址后,会将映射关系缓存到ARP表,而后传递到数据链路层进行解析转换。
三.ARP 协议的作用
网络中的数据传输所依赖的是MAC地址而不是IP地址,ARP协议负责将IP地址转换为MAC地址。
ARP协议的主要工作就是建立、查询、更新、删除ARP表项。
四.ARP常用命令
- 查询arp表:
2.删除表内某个IP
我们删除239.255.255.250这个IP:
然后我们通过arp -a去查询时,发现239.255.255.250已经消失了:
3.tcp抓某块网卡的所有arp请求
4.tcp抓取指定ip的请求
五.ARP工作过程演示
在centos7上通过抓包来了解arp的工作过程:
1.首先通过kali查看一下该机器有没有 IP·:192.168.110.13 的mac地址
我们看到kali机的arp表里存储着centos7的arp信息然后我们通过该命令删除kali机的arp表里存储着的centos7的arp信息
2.在kali机器上执行来监听来自192.168.110.13IP所有的arp请求
3.然后我们再打开一个kali机的终端,ping一下该ip,让这两台机器进行通讯,只有两台机器进行通讯时,才会绑定arp
4.查看抓包结果,来看一下arp绑定的过程
5.查看最新的ARP表,看看是否绑定了mac地址
6.ARP的请求是一直不间断的在自动发送的,一台计算机会通信进行以下过程
1.主动询问网段下的IP的MAC地址
2.主动告诉别人我的IP和MAC地址
3.根据应答结果实时更新ARP表的绑定关系
六.总结
1.ARP协议负责将IP地址转换为MAC地址,或者说 ARP协议负责将IP地址和MAC地址进行绑定。
2.ARP协议的主要工作就是建立、查询、更新、删除ARP表项。
3.ARP的特性:无需人为干预,一直在进行轮询和应答
渗透系列:ARP渗透与攻防(二)之断网攻击
ARP渗透与攻防(二)之断网攻击
ARP断网攻击
系列文章
ARP渗透与攻防(二)之断网攻击
1.环境准备
kali 作为ARP攻击机,IP地址:192.168.110.26 MAC地址:00:0c:29:fc:66:46
win10 作为被攻击方,IP地址:192.168.110.12 MAC地址:1c:69:7a:a4:cf:92
网关(路由器),IP地址:192.168.110.1 MAC地址:e4:3a:6e:35:98:00
需要注意的时,两台主机需要在同一个局域网,并且网络通畅。
ping www.mashibing.com
ARP渗透与攻防(三)之流量分析
ARP攻击-流量分析
ARP渗透与攻防(一)之ARP原理ARP渗透与攻防(二)之断网攻击
系列文章
1.环境准备
1.kali作为攻击机
2.win10作为靶机 IP地址:192.168.110.11
3.网关 IP地址:192.168.110.1
2.kali数据包转发
出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将数据包发往本机另一块网卡,该网卡根据路由表继续发送数据包。这通常是路由器所要实现的功能,我们需要手动开启转发功能。
1.如何开启通信转发?
kali里有个ip_forward 配置文件
1.默认是0 禁止端口转发
2.将其设置成1 开启端口转发
2.开启步骤
1.kali机器查看当前是否开启了端口转发
可以看到当前的kali机没有开启端口转发,在没有开启端口转发的功能下我们去执行该命令将会变成断网攻击
此时我们的靶机是 ping 不通外网的
2.kali开启通信转发的命令
3.使用arpspoof发起ARP攻击
4.win10验证是否转发成功
发现我们的window机器可以访问外部网络了,这种情况下Windows机器的流量就经过了kali机器的转发而访问外网了,我们就可以在kali机器上去截取windows机器的流量了,这就是所谓的中间人攻击。
3.dsniff工具
1.工具介绍
Dsniff是一个基于unix系统网络嗅探工具,工具集包含两个我们需要的两个工具包,arpspoof 和urlsnarf。
2.安装方法
3.urlsnarf工具介绍
4.url流量分析
1.概念
URL流量嗅探操作非常类似于中间人攻击,通过目标主机将路由流量注入到因特网。该过程将通过ARP注入实现攻击。url嗅探能够实时跟踪电脑中的数据流量信息,并且分析出它的类型和去向,从而获得你上网信息。
2.攻击流程
1.开启流量转发
2.开启ARP攻击,造成中间人攻击
3.kali捕获目标计算机的url,去监听我们的网卡,此时目标机器的流量会经过我们kali机的网卡转发,此时我们只要监听我们的网卡,就能获取目标机器的流量了。
4.Windows靶机上网,访问网站,去搜索一些信息
5.我们回到kali,发现kali机已经捕获了来自Windows机器的流量,我们来分析用户的请求
ARP渗透与攻防(八)之ARP攻击防御
原创
系列文章
ARP渗透与攻防(一)之ARP原理ARP渗透与攻防(二)之断网攻击
ARP渗透与攻防(三)之流量分析
ARP渗透与攻防(四)之WireShark截获用户数据
ARP渗透与攻防(五)之Ettercap劫持用户流量
ARP渗透与攻防(六)之限制网速攻击
ARP渗透与攻防(七)之Ettercap Dns劫持
ARP渗透与攻防(八)之ARP攻击防御
ARP攻击防御
1.ARP防御方法简介
ARP攻击的原理是向网关和靶机不停的发送ARP欺骗报文,我们的计算机或者网关就会实时更新ARP缓存表,从而出现安全漏洞。假如对这种欺骗报文的处理是不相信或者不接受的话,就不会出现问题了。处理这种的欺骗的行为我们没办法提前在攻击端进行操作,因为敌人躲在暗处,而我们处明处。
针对这种情况我们可以从以下两方面入手:
1.让我们的电脑不接收欺骗包
2.即使接收到欺骗的包也不要相信
目前网络安全行业现有的ARP防御方案,基本都是基于上面两个方法实现的。
2.windows防御
1.安装arp的防火墙
1.安装360安全卫士 地址:https://www.360.cn/
2.选择网络安全
3.选择流量防火墙
4.选择局域网防护开启防火墙
5.kali开启ARP攻击
6.查看防护效果
2.设置静态mac地址
1.临时绑定,重启后失去保护效果
1.ARP表MAC地址绑定状态
ARP表MAC地址绑定类型有动态和静态两种。
动态:有时效限制,会实时更新,不安全
静态:长久生效,不会随时间或者通知而变化,安全。
我们来看一下电脑上的ARP表。
大部分都是动态的,动态的MAC地址他有生命周期,一定时间之后就会被替换,另外别人通知我更新的时候,也会被直接替换,也就是说无论是被动获取时发现变化了,还是主动被告知时已经变动了,arp列表都会进行更新。如果是攻击方告诉了靶机,他也会相信,从而导致被攻击。我们解决的方法就是把动态的MAC地址变成静态的。那么该如何绑定呢?
2.绑定步骤
1.Win10以管理员身份运行CMD命令提示符
2.查询网关的ip和mac地址
3.查询本机的网卡
4.查询本地连接的网卡ID号
从图中可以找到,Idx就是网卡的ID,以 Ethernet0也就是我本机的网卡,id=6
5.临时绑定mac地址,重启失效
6.发起ARP攻击
7.查询靶机ARP表
8.停止ARP攻击
9.重启靶机,查看arp表
10.重新发起ARP攻击
11.查看靶机arp
12.停止攻击
2.永久绑定,重启后不失效
1.绑定命令
2.查看ARP表
3.发起ARP攻击
4.查看arp缓存表
5.重启电脑,查看ARP表
6.删除静态配置
7.查看靶机arp表
8.停止攻击
3.linux防御
1.查询arp表命令
2.临时添加静态地址,重启后失效
3.查询arp表
4.发起ARP攻击
5.查看靶机arp表
6.重启靶机
7.查看靶机arp表
可以看到重启后绑定失效了,mac地址又被替换成了kali的,于是又被arp攻击成功了。
8.将其添加到 rc.local里边 开启自动执行
9.重启centos7
10.查看arp表
可以看到,设置自动执行后,重启系统arp绑定也没失效。
4.路由/网关防护设置
1.打开路由器配置网站
一般是http://网关ip
2.点击更多功能
3.选择网络设置–局域网
4.添加静态ip地址绑定列表
5.手动添加绑定
5.WEB服务防御ARP攻击
web服务防御明文传输泄露用户信息的手段:使用加密协议:https
1.什么是HTTP
超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。使用明文传输,容易被劫持。
2.什么是HTTPS
《图解HTTP》这本书中曾提过HTTPS是身披SSL外壳的HTTP。HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。使用加密传输,不容易被拦截,更加安全。
TLS是传输层加密协议,前身是SSL协议,由网景公司1995年发布,有时候两者不区分。
3.HTTPS加密通讯工作原理
- 赞
- 收藏
- 评论
- 举报