几种常见网络抓包方式介绍(什么是网络抓包)

网友投稿 1018 2022-10-07


几种常见网络抓包方式介绍(什么是网络抓包)

无论作为网络运维人员,还是安全测试人员,在工作中都会无可避免地碰到网络抓包的需求。 对网络运维人员,网络抓包可以:

定位网络里的异常设备; 排查网络性能瓶颈; 了解真实的网络互联状态。

对安全测试人员,网络抓包可以:

有助于逆向分析联网型 App; 从真实流量中发现可利用的漏洞; 定位可能的网络后门和病毒等。

以上这些目标,往往无法仅靠在本机上抓包完成,必须在网络层有更方便的抓包解决方案。在古早还使用集线器 (Hub) 时,由于 Hub 设备不够“智能”,它会把所有的流量转发给所有的端口 (除了发出端口之外),所以只要把监听机器的网卡设置为混杂模式 (promiscuous mode),即可收到接在同一个Hub上其他机器的流量。但这种方式随着 Hub 退出市场,也慢慢不再适用了。 以下介绍几种在实验室环境和中小型网络里的网络抓包方式。它们不是企业级专业级的解决方案,而更适用于个人网络逆向分析和问题定位。

一、网络分流器(TAP)

二、有网管功能的小交换机

三、用两块网卡的Linux方案

sudo apt-get install -y bridge-utils hostapd tshark rng-tools

要启用网桥功能,需要在内核里把 net.ipv4.ip_forward 置为 1。修改 /etc/sysctl.conf ,加入以下这行:

net.ipv4.ip_forward=1

创建一个网桥 br0,编辑 /etc/network/interfaces,把 eth0 网卡加入网桥 br0,把网桥 br0 的 IP,设置为原来 eth0 的 IP。 也就是【address 192.168.99.13】这一行,应为 eth0 网卡的原 IP 地址,其他信息如网关和 dns 等请根据实际情况修改。

auto lo iface lo inet loopback auto eth0 iface eth0 inet manual allow-hotplug wlan0 iface wlan0 inet manual #创建一个网桥br0,把eth0加入这个网桥 #给网桥指定一个静态IP,这里用192.168.99.13,是因为树莓派所接网段为192.168.99.0/24,需要根据实际情况修改 #网桥的静态IP最好和原来的eth0静态ip保持一致,虽然不是强制项 auto br0 iface br0 inet static bridge_ports eth0 address 192.168.99.13 netmask 255.255.255.0 network 192.168.99.0 broadcast 192.168.99.255 gateway 192.168.99.1 dns-nameservers 8.8.8.8 #如果网桥需要用dhcp方式获得IP #iface br0 inet dhcp

把无线网卡 wlan0 配置为 AP 热点,热点的 ssid 名为【wifi_ssid】,密码为【12345678】,编辑文件 /etc/hostapd/hostapd.conf :

# 把wlan0网卡配置为ap热点 interface=wlan0 driver=nl80211 hw_mode=g channel=6 ieee80211n=1 wmm_enabled=1 ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40] macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP # 接入点名称,可按实际需求修改 ssid=wifi_ssid # 接入点验证密码,可按实际需求修改 wpa_passphrase=12345678 # 把接入点加入网桥br0 bridge=br0

要持久化以上热点配置,编辑 hostapd 服务文件,执行命令 sudo vi/etc/systemd/system/hostapd.service,把 /etc/systemd/system/hostapd.service 文件的内容设置为:

[Unit] Description=Hostapd Service [Service] Type=forking ExecStart=/usr/sbin/hostapd -B /etc/hostapd/hostapd.conf [Install] #WantedBy=multi-user.target WantedBy=graphical.target Alias=hostapd.service

其中【WantedBy=】一行取决于当前系统的默认启动级别,可以先执行命令 systemctlget-default 确认默认启动级别。根据实际情况,选择其中一种。 再把 hostapd 服务指定为自启动模式:

sudo update-rc.d hostapd defaults sudo update-rc.d hostapd enable service hostapd status

完成后重启机器, sudo reboot now 。 重启重新登录系统后,执行以下命令查看网桥 br0 的状态:

$ brctl show br0 bridge name bridge id STP enabled interfaces br0 8000.b827eb99a031 no eth0 wlan0 $ifconfig br0 br0: flags=4163 mtu 1500 inet 192.168.99.90 netmask 255.255.255.0 broadcast 192.168.99.255 inet6 fe80::ba27:ebff:fe99:a031 prefixlen 64 scopeid 0x20

执行以下命令,验证和查看 wlan0 网卡上的热点状态,在返回的内容里,看到【ssid wifi_ssid】,即为热点正常启动。

$sudo iw wlan0 info Interface wlan0 ifindex 3 wdev 0x1 addr b8:27:eb:cc:f5:64 ssid wifi_ssid type AP wiphy 0 channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz txpower 31.00 dBm

tshark -i br0 -w traffic_from_mobile.pcap 'host 192.168.99.114'

最后得到的 traffic_from_mobile.pcap 文件里就获得这台手机的完整流量了。

四、总结

从以上介绍可以看出,网络层抓包有各种可选方式,建议根据自己的需求和具体网络架构,选择适用的模式。另外也可以进行多种模式的叠加和串接,实现更灵活的抓包模式。 同时我们也要提醒一下:网络抓包有风险!不要贸然实施未获授权的抓包,可能会违法违规,以上方式只建议在实验和学习环境中使用。 最后,我们也再完整地总结一下上述三种方式的对比:

分流器(TAP) 小交换机 迷你电脑
成本 最低大约50元 最低大约200元 最低大约220元
复杂程度 简单 简单 稍微复杂
适用位置 灵活 有线 无线
缺陷 抓包机器需要两个网络接口 有源,需要额外配置 需要一定的动手能力

Ref

J. Bullock, J T. Parker - Wireshark for security professionals Using a Raspberry Pi 3 as a WiFi Access Point and Bridge NetworkConfiguration RPI-Wireless-Hotspot


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring WebFlux实现参数校验的示例代码
下一篇:nmap 扫描工具 使用方法(nmap命令详解)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~