diff options
author | Håkon Nessjøen <haakon.nessjoen@gmail.com> | 2010-09-27 15:26:47 +0200 |
---|---|---|
committer | Håkon Nessjøen <haakon.nessjoen@gmail.com> | 2010-09-27 15:26:47 +0200 |
commit | 3afa38b2e38a53441ce55bf5932553a8672268bf (patch) | |
tree | 9de9649ede2fda518bb6b7f442fd16430df95984 /mactelnet.c | |
parent | ccda1f219d6a07b59d2ebf69f7c0864aba397098 (diff) | |
download | MAC-Telnet-3afa38b2e38a53441ce55bf5932553a8672268bf.tar.gz MAC-Telnet-3afa38b2e38a53441ce55bf5932553a8672268bf.zip |
Cleaned up src/dst mac/ip handling a bit. Now fully automates source ip/mac addresses according to ethernet device chosen.
Diffstat (limited to 'mactelnet.c')
-rw-r--r-- | mactelnet.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/mactelnet.c b/mactelnet.c index 4094974..8cfab77 100644 --- a/mactelnet.c +++ b/mactelnet.c @@ -18,10 +18,11 @@ */ #include <string.h> #include <stdio.h> +#include <linux/if_ether.h> #include "mactelnet.h" #include "config.h" -int initPacket(unsigned char *data, unsigned char ptype, unsigned char *src, unsigned char *dst, unsigned short sessionkey, unsigned short counter) { +int initPacket(unsigned char *data, unsigned char ptype, unsigned char *srcmac, unsigned char *dstmac, unsigned short sessionkey, unsigned short counter) { // PACKET VERSION data[0] = 1; @@ -30,10 +31,10 @@ int initPacket(unsigned char *data, unsigned char ptype, unsigned char *src, uns data[1] = ptype; // src ethernet address - etherAddrton(data + 2, src); + memcpy(data + 2, srcmac, ETH_ALEN); // dst ethernet address - etherAddrton(data + 8, dst); + memcpy(data + 8, dstmac, ETH_ALEN); data[14] = sessionkey >> 8; data[15] = sessionkey & 0xff; @@ -49,7 +50,7 @@ int initPacket(unsigned char *data, unsigned char ptype, unsigned char *src, uns return 22; } -int addControlPacket(unsigned char *data, unsigned char cptype, unsigned char *cpdata, int data_len) { +int addControlPacket(unsigned char *data, unsigned char cptype, void *cpdata, int data_len) { data[0] = 0x56; data[1] = 0x34; data[2] = 0x12; |