一、《Wireshark网络分析就这么简单》 第一章学习
声明:文章只限于网络学习和实验,请遵守《网络安全法》。
第一章问题一:两台服务器A和B的网络配置如下(见图1),B的子网掩码本应该是255.255.255.0,被不小心配成了255.255.255.224。它们还能正常通信吗?
1.搭建网络拓扑
2.配置IP地址、子网掩码和网关;
服务A配置信息如下
服务B配置信息如下:
3.重点:路由配置代码如下:
#进入试图模式
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
#进入主机R1,同时起名为R1
[Huawei]sys R1
#给0/0/0接口设置IP地址和掩码
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.26.2 24
#开启路由0/0/0的接口
[R1-GigabitEthernet0/0/0]undo shutdown
Info: Interface GigabitEthernet0/0/0 is not shutdown.
#查看配置的路由接口是否开启
[R1-GigabitEthernet0/0/0]display interface brief
PHY: Physical
*down: administratively down
(l): loopback
(s): spoofing
(b): BFD down
^down: standby
(e): ETHOAM down
(d): Dampening Suppressed
InUti/OutUti: input utility/output utility
Interface PHY Protocol InUti OutUti inErrors outErrors
GigabitEthernet0/0/0 up up 0% 0% 0 0
GigabitEthernet0/0/1 down down 0% 0% 0 0
GigabitEthernet0/0/2 down down 0% 0% 0 0
NULL0 up up(s) 0% 0% 0 0
#查看路由表,发现路由配置没有问题
[R1-GigabitEthernet0/0/0]display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost Flags NextHop Interface
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.26.0/24 Direct 0 0 D 192.168.26.2 GigabitEthernet
0/0/0
192.168.26.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
192.168.26.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
4.查看环境是否配置成功
发现ping可以成功,说明子网掩码修改为255.255.255.254可以通信
二、 《Wireshark网络分析就这么简单》 第一章第一题 抓包学习
1.服务器B 直接ping 服务器A ;采用大鲨鱼抓包
12行分析需如下:
服务B通过ARP广播查询默认网关192.168.26.2的MAC地址。为什么我ping的是服务器A的IP,B却去查询默认网关的MAC地址呢?这是因为B根据自己的子网掩码,计算出A属于不同子网,跨子网通信需要默认网关的转发。而要和默认网关通信,就需要获得其MAC地址。
第13行,2号包如下:
默认网关是192.168.26.2向服务B回复了自己的MAC地址。为什么这些MAC地址的开头明明是00:e0:fc 和 54:89:98 ,WireShark上显示出来却都是HuaweiTe_?这是因为MAC地址的前3个字节表示厂商。而00:e0:fc 和 54:89:98都被分配给Huawei公司。这是全球统一的标准,所以Wireshark干脆显示出厂商名了。
第十四行,3号包如下:
B发出ping包,指定Destination IP 为A,即192.168.26.129.但Destination MAC却是默认网关的(00:e0:fc:26:7b:1e)。这表明服务B希望网关把包转发给A。至于默认网关有没有转发,我们目前无从得知,除非在网关上抓个包。
4号包如下:
服务B收到A发出的APP广播,这个广播查询的是B的MAC地址。这是因为在A看来,B属于相同子网,同子网通信无需默认网关的参与,只要通过ARP获得对方MAC地址就行了。这个包也表明默认网关成功地把B发出的ping请求转发给A了,否则A不会无缘无故尝试和B通信。
第5包如下
服务B回复了A的ARP请求,把自己的MAC地址告诉A。这说明B在执行ARP回复时并不考虑子网。虽然ARP请求来自其他子网的IP,但也照样回复。
第6包如下:
服务B终于收到了服务A的ping回复。从MAC地址(54:89:98:2c:46:6f)可以看出,这个包是从A直接过来的,而不是通过默认网关的转发。
第7、8、9、10包如下:
都是重复的ping请求和ping回复。因为A和B都已经知道对方的联系方式,所以就没必要再发ARP了。
2.重点总结:
分析完这几个包,答案出来了。原来通信过程是这样的:B先把Ping请求交给默认网关,默认网关再转发给A。而A收到请求后直接把Ping回复给B,形成三角环路。
1、服务B --ping请求--> 网关;
2、网关 --ping请求--> 服务A;
3、服务A--ping请求-->服务A;
3.分享文件
三、Wireshark远程数据包捕获
背景:开启远程桌面,rdp服务,再系统中安装wrieshark进行抓包分析;缺点是在远程登录的过程中,都会产生无关与目的远程连接数据流量。
wireShark远程抓包软件配置:服务器安装winpacap中的rpcapd程序;
客户端安装wireshark连接服务端。
四、Wireshark虚拟机数据包捕获
选中指定网卡进行流量嗅探;域网嗅探同一网段的主机;
案例演示:
使用netdiscover -r CIDR 发现局域网主机,同时利用wireshark捕获虚拟机的流量。
(一)打开大鲨鱼,选中虚拟网络8
(二)打开虚拟机Kali系统,查看本地网络
# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.129 netmask 255.255.255.0 broadcast 10.0.0.255
ether 00:0c:29:78:c5:9d txqueuelen 1000 (Ethernet)
RX packets 6831 bytes 673696 (657.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 61612 bytes 4345612 (4.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.46.129 netmask 255.255.255.0 broadcast 192.168.46.255
inet6 fe80::20c:29ff:fe78:c5b1 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:78:c5:b1 txqueuelen 1000 (Ethernet)
RX packets 600 bytes 109609 (107.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 554 bytes 83036 (81.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.56.101 netmask 255.255.255.0 broadcast 192.168.56.255
ether 00:0c:29:78:c5:a7 txqueuelen 1000 (Ethernet)
RX packets 6395 bytes 511414 (499.4 KiB)
RX errors 0 dropped 182 overruns 0 frame 0
TX packets 1915 bytes 185256 (180.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
(三)选中一个网卡,扫描同一局域网,进行流量嗅探
┌──(root㉿kalich)-[~]
└─# netdiscover -r 10.0.0.1/24
(四)查看大鲨鱼抓包数据包,同时kali的的扫描结果
六、Wireshark ARP欺骗数据包捕获)
案例演示
在Kali linux中完成ARP欺骗,开启wireshark抓取本地数据包。
虚拟机主机01IP:10.0.0.111
虚拟机主机02IP:10.0.0.128
主机10.0.0.128:执行命令:
arpspoof [-i 指定使用的网卡] [-t 要欺骗的主机] [-r 要伪装成的主机]
# arpspoof -i eth1 -t 10.0.0.111 -r 10.0.0.1
主机10.0.0.111的目标地址是10.0.0.1,通过ARP欺骗可以捕获10.0.0.111主机的请求数据。