Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Sep 2001 13:59:02 +0100 (BST)
From:      Joshua Goodall <joshua@roughtrade.net>
To:        Paul Chvostek <paul@it.ca>
Cc:        <net@freebsd.org>
Subject:   arpwh (was: Gratuitous ARP (summary))
Message-ID:  <Pine.LNX.4.33.0109021329000.20276-101000@elm.phenome.org>
In-Reply-To: <Pine.LNX.4.33.0109020130240.20276-100000@elm.phenome.org>

next in thread | previous in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---1715338327-2083909239-999435542=:20276
Content-Type: TEXT/PLAIN; charset=US-ASCII


On Sun, 2 Sep 2001, I wrote:

> I think, ultimately, the only guaranteed way is to construct your own ARP
> packet and write it at the link layer. arping uses libnet for this.

... and just for a lark, I rolled a tool using libnet to fulfill my own
requirements. sharball attached. Requires the libnet port/package.

Possibly this is a useful template for people needing similiar code.

If anyone cares enough I might make it a port, but it does duplicate
functionality available in several existing ports (dsniff, arping,
others?).

J

---1715338327-2083909239-999435542=:20276
Content-Type: APPLICATION/x-shar; name="arpwh.shar"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.33.0109021359020.20276@elm.phenome.org>
Content-Description: 
Content-Disposition: attachment; filename="arpwh.shar"

IyBUaGlzIGlzIGEgc2hlbGwgYXJjaGl2ZS4gIFNhdmUgaXQgaW4gYSBmaWxl
LCByZW1vdmUgYW55dGhpbmcgYmVmb3JlCiMgdGhpcyBsaW5lLCBhbmQgdGhl
biB1bnBhY2sgaXQgYnkgZW50ZXJpbmcgInNoIGZpbGUiLiAgTm90ZSwgaXQg
bWF5CiMgY3JlYXRlIGRpcmVjdG9yaWVzOyBmaWxlcyBhbmQgZGlyZWN0b3Jp
ZXMgd2lsbCBiZSBvd25lZCBieSB5b3UgYW5kCiMgaGF2ZSBkZWZhdWx0IHBl
cm1pc3Npb25zLgojCiMgVGhpcyBhcmNoaXZlIGNvbnRhaW5zOgojCiMJYXJw
d2gKIwlhcnB3aC9NYWtlZmlsZQojCWFycHdoL2FycHdoLmMKIwlhcnB3aC9h
cnB3aC44CiMKZWNobyBjIC0gYXJwd2gKbWtkaXIgLXAgYXJwd2ggPiAvZGV2
L251bGwgMj4mMQplY2hvIHggLSBhcnB3aC9NYWtlZmlsZQpzZWQgJ3MvXlgv
LycgPmFycHdoL01ha2VmaWxlIDw8ICdFTkQtb2YtYXJwd2gvTWFrZWZpbGUn
ClgjICRJZDogTWFrZWZpbGUsdiAxLjkgMjAwMS8wOS8wMiAxMjo0NDozMCBq
b3NodWEgRXhwIGpvc2h1YSAkClgKWFBST0c9CWFycHdoClhNQU49CWFycHdo
LjgKWEJJTkRJUj0JL3Vzci9sb2NhbC9zYmluClhNQU5ESVI9CS91c3IvbG9j
YWwvbWFuL21hbgpYTk9PQko9CTEKWApYTElCTkVUREVGUyE9CWxpYm5ldC1j
b25maWcgLS1kZWZpbmVzClhDRkxBR1MrPS1JL3Vzci9sb2NhbC9pbmNsdWRl
ICR7TElCTkVUREVGU30KWExEQUREKz0JLWxuZXQKWExERkxBR1MrPQktTC91
c3IvbG9jYWwvbGliClgKWC5pbmNsdWRlIDxic2QucHJvZy5taz4KRU5ELW9m
LWFycHdoL01ha2VmaWxlCmVjaG8geCAtIGFycHdoL2FycHdoLmMKc2VkICdz
L15YLy8nID5hcnB3aC9hcnB3aC5jIDw8ICdFTkQtb2YtYXJwd2gvYXJwd2gu
YycKWC8qClggKiBDb3B5cmlnaHQgKEMpIDIwMDEgSm9zaHVhIEdvb2RhbGwg
PGpvc2h1YUByb3VnaHRyYWRlLm5ldD4KWCAqIEFsbCByaWdodHMgcmVzZXJ2
ZWQuClggKgpYICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0ClggKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKWCAqIGFyZSBtZXQ6ClggKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodApYICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgpYICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKWCAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
WCAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uClggKgpYICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBVVRIT1IgQU5EIENPTlRSSUJVVE9S
UyBgYEFTIElTJycgQU5EClggKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
WCAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFClggKiBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFVVEhPUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFClggKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTApYICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKWCAqIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKQpYICogSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QKWCAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKWCAq
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKWCAqIFNVQ0ggREFNQUdFLgpY
ICoKWCAqICRJZDogYXJwd2guYyx2IDEuNiAyMDAxLzA5LzAyIDExOjUwOjMx
IGpvc2h1YSBFeHAgam9zaHVhICQKWCAqLwpYClgjaW5jbHVkZSA8c3RkaW8u
aD4KWCNpbmNsdWRlIDxsaWJuZXQuaD4KWApYdV9jaGFyIGV0aF9icm9hZGNh
c3RbRVRIRVJfQUREUl9MRU5dID0gezB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYs
IDB4ZmYsIDB4ZmZ9OwpYdV9jaGFyIGV0aF9ub3NyY1tFVEhFUl9BRERSX0xF
Tl0gPSB7MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH07ClgK
WGludCBtYWluIF9fUCgoaW50LCBjaGFyICpbXSkpOwpYdm9pZCB1c2FnZSBf
X1AoKHZvaWQpKTsKWApYaW50ClhtYWluKGFyZ2MsIGFyZ3YpClgJaW50IGFy
Z2M7ClgJY2hhciAqYXJndltdOwpYewpYCWNoYXIgZXJyX2J1ZltMSUJORVRf
RVJSQlVGX1NJWkVdOwpYCXN0cnVjdCBldGhlcl9hZGRyICpzaGE7ClgJc3Ry
dWN0IGxpYm5ldF9saW5rX2ludCAqbGluazsKWAljaGFyICAgKmludGVyZmFj
ZTsKWAljaGFyICAgKmFkZHJlc3N6OwpYCXVfY2hhciAqcGFja2V0OwpYCXVf
Y2hhciBldGhfZHN0W0VUSEVSX0FERFJfTEVOXTsKWAl1X2NoYXIgZXRoX3Ny
Y1tFVEhFUl9BRERSX0xFTl07ClgJdV9sb25nIGlwYWRkcjsKWApYCWlmIChh
cmdjICE9IDMpClgJCXVzYWdlKCk7ClgKWAlpbnRlcmZhY2UgPSAqKythcmd2
OwpYCWFkZHJlc3N6ICA9ICorK2FyZ3Y7ClgKWAkvKiBCdWlsZCBkYXRhIHN0
cnVjdHVyZXMuICovClgKWAlsaW5rID0gbGlibmV0X29wZW5fbGlua19pbnRl
cmZhY2UoaW50ZXJmYWNlLCBlcnJfYnVmKTsKWAlpZiAobGluayA9PSBOVUxM
KQpYCQlsaWJuZXRfZXJyb3IoTElCTkVUX0VSUl9GQVRBTCwgIiVzXG4iLCBl
cnJfYnVmKTsKWApYCXNoYSA9IGxpYm5ldF9nZXRfaHdhZGRyKGxpbmssIGlu
dGVyZmFjZSwgZXJyX2J1Zik7ClgJaWYgKHNoYSA9PSBOVUxMKQpYCQlsaWJu
ZXRfZXJyb3IoTElCTkVUX0VSUl9GQVRBTCwgIiVzXG4iLCBlcnJfYnVmKTsK
WApYCWlmICgoaXBhZGRyID0gbGlibmV0X25hbWVfcmVzb2x2ZShhZGRyZXNz
eiwgMSkpID09IC0xKQpYCQlsaWJuZXRfZXJyb3IoTElCTkVUX0VSUl9GQVRB
TCwgImxpYm5ldF9uYW1lX3Jlc29sdmUoKVxuIik7ClgJClgJbWVtY3B5KGV0
aF9kc3QsIGV0aF9icm9hZGNhc3QsIEVUSEVSX0FERFJfTEVOKTsKWAltZW1j
cHkoZXRoX3NyYywgc2hhLT5ldGhlcl9hZGRyX29jdGV0LCBFVEhFUl9BRERS
X0xFTik7ClgKWAkvKiBCdWlsZCBwYWNrZXQuICovClgKWAlpZiAobGlibmV0
X2luaXRfcGFja2V0KExJQk5FVF9FVEhfSCArIExJQk5FVF9BUlBfSCwgJnBh
Y2tldCkgPT0gLTEpClgJCWxpYm5ldF9lcnJvcihMSUJORVRfRVJSX0ZBVEFM
LCAibGlibmV0X2luaXRfcGFja2V0KCkiKTsKWApYCWlmIChsaWJuZXRfYnVp
bGRfZXRoZXJuZXQoZXRoX2RzdCwgZXRoX3NyYywgRVRIRVJUWVBFX0FSUCwg
TlVMTCwgMCwKWAkgICAgcGFja2V0KSA9PSAtMSkKWAkJbGlibmV0X2Vycm9y
KExJQk5FVF9FUlJfRkFUQUwsICJsaWJuZXRfYnVpbGRfZXRoZXJuZXQoKVxu
Iik7ClgKWAlpZiAobGlibmV0X2J1aWxkX2FycChBUlBIUkRfRVRIRVIsIEVU
SEVSVFlQRV9JUCwgRVRIRVJfQUREUl9MRU4sClgJICAgIDQsIEFSUE9QX1JF
UVVFU1QsIHNoYS0+ZXRoZXJfYWRkcl9vY3RldCwgKHVfY2hhciAqKSZpcGFk
ZHIsClgJICAgIC8qIHNoYS0+ZXRoZXJfYWRkcl9vY3RldCwgKHVfY2hhciAq
KSZpcGFkZHIsIE5VTEwsIDAsICovClgJICAgIGV0aF9ub3NyYywgKHVfY2hh
ciAqKSZpcGFkZHIsIE5VTEwsIDAsClgJICAgIHBhY2tldCArIExJQk5FVF9F
VEhfSCkgPT0gLTEpClgJCWxpYm5ldF9lcnJvcihMSUJORVRfRVJSX0ZBVEFM
LCAibGlibmV0X2J1aWxkX2FycCgpXG4iKTsKWApYCS8qIFdyaXRlIHBhY2tl
dC4gKi8KWApYCWlmIChsaWJuZXRfd3JpdGVfbGlua19sYXllcihsaW5rLCBp
bnRlcmZhY2UsIHBhY2tldCwKWAkgICAgTElCTkVUX0VUSF9IICsgTElCTkVU
X0FSUF9IKSA9PSAtMSkKWAkJbGlibmV0X2Vycm9yKExJQk5FVF9FUlJfRkFU
QUwsICJsaWJuZXRfd3JpdGVfbGlua19sYXllcigpXG4iKTsKWApYCWV4aXQo
MCk7Clh9ClgKWHZvaWQKWHVzYWdlKCkKWHsKWAkodm9pZClmcHJpbnRmKHN0
ZGVyciwgInVzYWdlOiBhcnB3aCBpbnRlcmZhY2UgYWRkcmVzc1xuIik7ClgJ
ZXhpdCgxKTsKWH0KRU5ELW9mLWFycHdoL2FycHdoLmMKZWNobyB4IC0gYXJw
d2gvYXJwd2guOApzZWQgJ3MvXlgvLycgPmFycHdoL2FycHdoLjggPDwgJ0VO
RC1vZi1hcnB3aC9hcnB3aC44JwpYLlwiIENvcHlyaWdodCAoQykgMjAwMSBK
b3NodWEgR29vZGFsbCA8am9zaHVhQHJvdWdodHJhZGUubmV0PgpYLlwiIEFs
bCByaWdodHMgcmVzZXJ2ZWQuClguXCIgClguXCIgUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0ClguXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zClguXCIgYXJlIG1l
dDoKWC5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodApYLlwiICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KWC5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodApYLlwiICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKWC5cIiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgpYLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVVUSE9SIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORApYLlwiIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQpYLlwiIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFClguXCIgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBVVRIT1IgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQpYLlwi
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMClguXCIgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMKWC5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikKWC5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVApYLlwiIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKWC5cIiBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GClguXCIgU1VDSCBEQU1BR0UuClguXCIKWC5cIiAkSWQ6
IGFycHdoLjgsdiAxLjQgMjAwMS8wOS8wMiAxMjo0NDozMCBqb3NodWEgRXhw
IGpvc2h1YSAkClguXCIKWC5EZCBTZXB0ZW1iZXIgMiwgMjAwMQpYLkR0IEFS
UFdIIDgKWC5PcyBhcnB3aCAxLjIKWC5TaCBOQU1FClguTm0gYXJwd2gKWC5O
ZCBzZW5kIGFycCB3aG8taGFzClguU2ggU1lOT1BTSVMKWC5ObQpYLkFyIGlu
dGVyZmFjZSBob3N0ClguU2ggREVTQ1JJUFRJT04KWFRoZQpYLk5tClh1dGls
aXR5IHdyaXRlcyBhIEdyYXR1aXRvdXMgQVJQIHdoby1oYXMgcGFja2V0IG91
dCBvZiB0aGUKWC5BciBpbnRlcmZhY2UKWHdpdGggYm90aCB0aGUgcmVxdWVz
dCBhbmQgdGVsbCBJUCBhZGRyZXNzZXMgc2V0IHRvIHRoZSBnaXZlbgpYLkFy
IGhvc3QgLgpYLlNoIERJQUdOT1NUSUNTClhUaGUKWC5ObQpYdXRpbGl0eSBl
eGl0cyAwIG9uIHN1Y2Nlc3MsIGFuZCA+MCBpZiBhbiBlcnJvciBvY2N1cnMu
ClguU2ggU0VFIEFMU08KWC5YciBhcnAgOCAsClguWHIgaWZjb25maWcgOApY
LlNoIEFVVEhPUiAKWC5BbiBKb3NodWEgR29vZGFsbCBBcSBqb3NodWFAcm91
Z2h0cmFkZS5uZXQKRU5ELW9mLWFycHdoL2FycHdoLjgKZXhpdAoK
---1715338327-2083909239-999435542=:20276--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.33.0109021329000.20276-101000>