LinuxÒÁµéÔ°ÂÛ̳'s Archiver

blackfish ·¢±íÓÚ 2006-4-14 17:06

¡¾ÇóÖú¡¿ÄÄλ´ó¸çÄܸæËßÎÒÈçºÎÔÚLINUXÏÂʹÓÃARP»ñȡԶ³ÌÖ÷»úµÄmac

ÎÒ±àÁËÔÚwindowsϵÄ,¿ÉÊÇÔÚlinuxÏÂÔõôʵÏÖÄØ?:confused:

flag ·¢±íÓÚ 2006-4-18 09:37

ÓÐʲô²»Í¬µÄÂð£¿ÄãʹÓÃÁËʲô·ÇC±ê×¼¿âµÄº¯ÊýÂð£¿

lenger81 ·¢±íÓÚ 2006-4-20 04:18

ÈçºÎÓÃarpÎÒ²»ÖªµÀ£¬²»¹ýÄã¿ÉÒÔÊÔÊÔlibpcap£¬Ö±½Ó×¥datalink packet£¬ÀïÃæÓÐmacµØÖ·¡£

lenger81 ·¢±íÓÚ 2006-4-22 19:51

#include <stdio.h>
V;~I%E2l}z;|*c #include <string.h> J c2WH!oZ
8e@{ X\0wr
#include <sys/types.h> C'e s9O q+a$X
#include <sys/socket.h>
(l_l(R+?JG&n0D M4z #include <arpa/inet.h>
b4w,U$__7poe #include <sys/ioctl.h>[tjv*er6I
#include <net/if_arp.h>
DC{XH8RN u #include <netinet/in.h>,? Lo+yrE [#M1Nd(ZN
(A.^6G8WQ{#}TV
int main(int argc, char **argv)B5XtkK.U|
{$QD*Xnv#_J @
        int     sockfd;YdW;JoJR.w8S
        unsigned char *ptr;
'kx-at3v@#j#gP         struct arpreq arpreq;
#{+Ii:XeC         struct sockaddr_in *sin;
5Dk6w\ A6WS;}         struct sockaddr_storage ss;
:~)VDUnUUU         char addr[INET_ADDRSTRLEN+1];
&N3g1jB#uK
Bb%eFH` K?.a
/g cI-n_3P)I.CL         memset(addr, 0, INET_ADDRSTRLEN+1);T j9PIz6f O
        memset(&ss, 0, sizeof(ss));-CM3v%AxzX
][$n L w2r M!p,i
        if (argc != 2) {
YkH*k;gd U                 printf("USAGE arpg  ip_addr\n");nEYmO%T*Tt'w,\
                return -1;
%W#_Z"Pf         }
]&N,W0nv?HtL&h-y
J(d!EF }         sockfd = socket(AF_INET, SOCK_DGRAM, 0);:e)}vKB5W
        if (sockfd == -1) { z@,Rr5_z;j9q
                perror("socket error");
qPp1x"g9\D T)yE                 return -1;1Co@aY,B1k9k4^(VZ
        }
,glZrj5|F9z
E%\ij"o#\         sin = (struct sockaddr_in *) &ss;
d3r(ht c         sin->sin_family = AF_INET;
[c\x:]7F `
Z2J$| Jyh         if (inet_pton(AF_INET, argv[1], &(sin->sin_addr)) <= 0) {
4ArT6z3r                 perror("inet_pton error");OIe'i/N)}[ I$t:N
                return -1;4g@;BM F uVL,P
       }
IDimg dot :M#@Id ]B
        sin = (struct sockaddr_in *) &arpreq.arp_pa;
w,`2f5_ex4`         memcpy(sin, &ss, sizeof(struct sockaddr_in));
E/@7\ N{.iR d1b)Z         strcpy(arpreq.arp_dev, "eth0");
rcCf&S         arpreq.arp_ha.sa_family = AF_UNSPEC;
R'NO xEMv | r,^;Ptl
        if (ioctl(sockfd, SIOCGARP, &arpreq) < 0) {
r+~F.T M                 perror("ioctl SIOCGARP: ");
*B Y'ue\)j$\s-lo                 return -1;
%L#T ae~-S.Z         }j0@*D3S!I

~|hD{:S1~         ptr = (unsigned char *)arpreq.arp_ha.sa_data;
vw#AN,MoE$T|         printf("%x:%x:%x:%x:%x:%x\n", *ptr, *(ptr+1), *(ptr+2), *(ptr+3), *(ptr+4), *(ptr+5));
7[+d?1J_+P9_-L"Z S
j f#f6Q)l9RS L_d         return 0;
_p7\e!zdFF\ }

flag ·¢±íÓÚ 2006-4-25 16:55

¼ÈÈ»ÓÐÈËÌùÁËÔ´Â룬¾ÍÏÈÈÓµ½¾«»ªÀﱸ²é°É¡£

hunter_32 ·¢±íÓÚ 2006-4-26 14:04

ºÃÏñͬһ¸öÍø¶ÎµÄ²Å¿ÉÒÔÈ¡µÀMAC ¡£²»Í¬µÄÍø¶ÎÖ»Óп¿±ðµÄ·½·¨ÁË¡£

mubaili ·¢±íÓÚ 2006-4-28 12:40

Çó¾È: ÎҵĻúÆ÷²»ÖªµÀË­¶¯ÁË,ÏÖÔÚÆð»ú¾Í³öÏÖÕâ¸öÆÁÄ»
J.b;G m?;Nf/`k3~ GRUB version 0.93 1639k lower / 252864k upper memory
UZ3z*APud2F0H [ Minimal BASH-like line deiting is supported.For the first word , TAB%i Q sH'p1]]2|E
lists possible command completions.Anywhere else TAB lists the possible
2_$c1cw'n,x Wj completions of a device/filename.]
be6U`I grub>XKf_ azMXT?
µ±ÎÒ°´ÏÂTAB¼üʱ³öÏÖ'{7w"j7Sd
Possible commands are:background blocklist boor cat chainloader clear cmp color
/?+V&n"Gc0q%N2@ L configfile debug display amp displaymem embed find foreground fstest geometry
1Moq}b#FAZ\d h halt help hide impsprobe initrd install ioprobe kernel lock makeactive map md5
*KTe3V ry j&R+FQ crype module modulenounzip pager partnew parttype password pause read reboot root
Yf,]!gV [ Qm rootnoverify savedefault serial serial setkey setup splashimage terminal terminfo
'Lk'wAW testload testvbe unhide uppermem vbeprobe
:[*z PV&P&k ÎÒ ÊÇÐÂÊÖ²»ÖªµÀÕâÊÇÔõô»ØÊÂ
$lCj},T;afQ Çë¸÷λ¸ßÊÖ°ï°ïæ.лл.

flag ·¢±íÓÚ 2006-4-28 14:00

Â¥ÉϵÄÕ¦»ØÊ£¿²»»á·¢ÐÂÖ÷ÌâÂð£¿ÔÙËµÃ²ËÆÒ²ÅÜ´í°æÁ˰É

andy_quan ·¢±íÓÚ 2006-5-9 10:25

libpcap ¿ÉÒÔʵÏÖ
F)j$I5XnGj C/T ££4Â¥µÄ·½·¨ºÃ°¡
}M%{6b1csV$y ----------------------------------------------------------
&zf4jW/uP [url]http://blog.csdn.net/fengyv[/url]

blackfish ·¢±íÓÚ 2006-7-26 09:32

ºÇºÇ,лл´ó¼ÒµÄ°ïÖú,ÎҺܾÃûÓÐÉÏÀ´ÁË,ºóÀ´ÕÒµ½Á˺÷½·¨,¾ÍÊÇ×Ô¼º¶¨ÒåÒ»¸öARP°ü²¢ÇÒ½«°ü·¢³öÈ¥¾Í¿ÉÒÔÁË.
p @Y:L-u +Ln ~3hs{
²»¹ýͨ¹ýARPÖ»ÄÜÔÚÍ¬Ò»Íø¶ÎÖлñµÃMAC,Èç¹ûÏëÔÚ²»Í¬Íø¶ÎÄÇôֻÓÐͨ¹ýSNIFFE×¥°üÁË.:i j7dO-C&w0P(Q

5TqQ(f,g\ H7@K struct _Ether_pkg {lH1j'vkT/G:\!j
  /* Ç°ÃæÊÇethernetÍ· */        B&vpd q8|#hO
  unsigned char  ether_dhost[6];        /* Ä¿µØÓ²¼þµØÖ·        */cGt5KN{/|(fV{9Pj+R
  unsigned char  ether_shost[6];        /* Ô´Ó²¼þµØÖ·        */5d6{Waba
  unsigned short int ether_type;    /* ÍøÂçÀàÐÍ                */
v-AExqiN9\   /* ÏÂÃæÊÇarpЭÒé    */M0B@+BEOd6Cj
  unsigned short int ar_hrd;                /* Ó²¼þµØÖ·¸ñʽ */
y#G,QH*C4b3b,u   unsigned short int ar_pro;                /* ЭÒ鵨ַ¸ñʽ */6S{*z5[k0_dJ1~
  unsigned char  ar_hln;                        /* Ó²¼þµØÖ·³¤¶È(×Ö½Ú) */0uY]*PoH
  unsigned char  ar_pln;                        /* ЭÒ鵨ַ³¤¶È(×Ö½Ú) */|)ZN{e_9gg SU
  unsigned short int ar_op;                        /* ²Ù×÷´úÂë                */#r$vS5?n4[#Sb
  unsigned char  arp_sha[6];                /* Ô´Ó²¼þµØÖ·         */
i;rQ-f@   unsigned char  arp_spa[4];                /* ԴЭÒ鵨ַ        */
wH%Ei'[ TmMI   unsigned char  arp_tha[6];                /* Ä¿µØÓ²¼þµØÖ· */k1Hp#gLr3o
  unsigned char  arp_tpa[4];                /* Ä¿µØÐ­Ò鵨ַ */'||0e$e!x~(_ o
};

dearvoid ·¢±íÓÚ 2006-7-26 15:43

Ç°Ãæ [color=red]lenger81[/color] µÄ code ¿´ËÆÃæÊì, ÊDz»ÊÇ UNP ÀïÃæµÄ :)

vincezhang ·¢±íÓÚ 2006-7-28 15:07

try datalink socket,using protocol family pf_packet,you can get the target mac address
f*Am(U&S:z easily

souldump ·¢±íÓÚ 2006-10-29 21:28

Õâ¸öÔÚLINUXÀïºÃÏñ²»ÄÜÓÃÁË£¬
%{5VBji ÎÒÔËÐÐ×ÜÊÇioctl SIOCGARP: : Invalid argument
/z(L2VQ Zmx jM(k-\ ÊéÉÏ˵ÔÚеÄϵͳÖв»Ö§³ÖioctlµÄSIOCGARP,
6{p"D2F0IZ0n ÒªÓÃAF_ROUTE

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.