mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-02-17 02:44:43 +02:00
fix arpspoof on wireless device, report by atheus
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@1910 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
ec0c823949
commit
162545e105
@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=dsniff
|
PKG_NAME:=dsniff
|
||||||
PKG_VERSION:=2.3
|
PKG_VERSION:=2.3
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
PKG_MD5SUM:=183e336a45e38013f3af840bddec44b4
|
PKG_MD5SUM:=183e336a45e38013f3af840bddec44b4
|
||||||
|
|
||||||
PKG_SOURCE_URL:=http://www.monkey.org/~dugsong/dsniff/
|
PKG_SOURCE_URL:=http://www.monkey.org/~dugsong/dsniff/
|
||||||
|
51
openwrt/package/dsniff/patches/arpspoof-fix.patch
Normal file
51
openwrt/package/dsniff/patches/arpspoof-fix.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
diff -Nur dsniff-2.3.orig/arp.c dsniff-2.3/arp.c
|
||||||
|
--- dsniff-2.3.orig/arp.c 2000-11-14 16:51:03.000000000 +0100
|
||||||
|
+++ dsniff-2.3/arp.c 2005-09-12 16:13:44.101915800 +0200
|
||||||
|
@@ -37,7 +37,7 @@
|
||||||
|
#ifdef BSD
|
||||||
|
|
||||||
|
int
|
||||||
|
-arp_cache_lookup(in_addr_t ip, struct ether_addr *ether)
|
||||||
|
+arp_cache_lookup(in_addr_t ip, struct ether_addr *ether, const char* linf)
|
||||||
|
{
|
||||||
|
int mib[6];
|
||||||
|
size_t len;
|
||||||
|
@@ -89,7 +89,7 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int
|
||||||
|
-arp_cache_lookup(in_addr_t ip, struct ether_addr *ether)
|
||||||
|
+arp_cache_lookup(in_addr_t ip, struct ether_addr *ether, const char* lif)
|
||||||
|
{
|
||||||
|
int sock;
|
||||||
|
struct arpreq ar;
|
||||||
|
@@ -97,7 +97,7 @@
|
||||||
|
|
||||||
|
memset((char *)&ar, 0, sizeof(ar));
|
||||||
|
#ifdef __linux__
|
||||||
|
- strncpy(ar.arp_dev, "eth0", sizeof(ar.arp_dev)); /* XXX - *sigh* */
|
||||||
|
+ strncpy(ar.arp_dev, lif, strlen(lif));
|
||||||
|
#endif
|
||||||
|
sin = (struct sockaddr_in *)&ar.arp_pa;
|
||||||
|
sin->sin_family = AF_INET;
|
||||||
|
diff -Nur dsniff-2.3.orig/arpspoof.c dsniff-2.3/arpspoof.c
|
||||||
|
--- dsniff-2.3.orig/arpspoof.c 2000-11-28 08:43:43.000000000 +0100
|
||||||
|
+++ dsniff-2.3/arpspoof.c 2005-09-12 16:16:49.244769808 +0200
|
||||||
|
@@ -23,7 +23,7 @@
|
||||||
|
#include "version.h"
|
||||||
|
|
||||||
|
extern char *ether_ntoa(struct ether_addr *);
|
||||||
|
-extern int arp_cache_lookup(in_addr_t, struct ether_addr *);
|
||||||
|
+extern int arp_cache_lookup(in_addr_t, struct ether_addr *, const char* intf);
|
||||||
|
|
||||||
|
static struct libnet_link_int *llif;
|
||||||
|
static struct ether_addr spoof_mac, target_mac;
|
||||||
|
@@ -111,7 +111,7 @@
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
do {
|
||||||
|
- if (arp_cache_lookup(ip, mac) == 0)
|
||||||
|
+ if (arp_cache_lookup(ip, mac, intf) == 0)
|
||||||
|
return (1);
|
||||||
|
#ifdef __linux__
|
||||||
|
/* XXX - force the kernel to arp. feh. */
|
Loading…
x
Reference in New Issue
Block a user