From owner-freebsd-net Sun Sep 2 5:59:11 2001 Delivered-To: freebsd-net@freebsd.org Received: from elm.phenome.org (elm.phenome.org [194.153.169.3]) by hub.freebsd.org (Postfix) with ESMTP id CBF3937B406 for ; Sun, 2 Sep 2001 05:59:03 -0700 (PDT) Received: from localhost (joshua@localhost [127.0.0.1]) by localhost (8.12.0.Beta19/8.12.0.Beta19/Debian 8.12.0.Beta19) with ESMTP id f82Cx22r018883; Sun, 2 Sep 2001 13:59:02 +0100 Date: Sun, 2 Sep 2001 13:59:02 +0100 (BST) From: Joshua Goodall X-X-Sender: To: Paul Chvostek Cc: Subject: arpwh (was: Gratuitous ARP (summary)) In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-1715338327-2083909239-999435542=:20276" Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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: 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