Proxy ARP قابلیتی است که در آن دستگاهی (که معمولا به عنوان gateway قرار دارد) درخواستهایی که مربوط به MAC سیستم دیگری است را پاسخ میدهد. این دستگاه با جا زدن خود به عنوان مقصد، کار رساندن ترافیک مبدا به مقصد را انجام میدهد.
شبکه زیر را در نظر بگیرید.
برای شروع ارتباط مبدا و مقصدی که در یک رنج هستند، مبدا از ARP برای بدست آوردن MAC مقصد استفاده میکند. حال سیستم با آدرس 172.16.0.100/16 میخواهد با سیستم 172.16.1.100/24 ارتباط برقرار کند. از نظر مبدا، آدرس مقصد با آدرسش در یک رنج است، به همین علت اقدام به پیدا کردن MAC از طریق ARP میکند. ترافیک ARP با آدرس FFFF.FFFF.FFFF برای تمامی پورتهای سوئیچ، از جمله پورتی که متصل به روتر است ارسال میشود.
از آنجایی که اطلاعات MAC مقصد مربوط به اینترفیس دیگر روتر است و روتر ترافیک broadcast را عبور نمیدهد، به دست مقصد نمیرسد. اما از آنجایی که روتر به دلیل ارتباط داشتن با مقصد مورد نظر، MAC اش را در جدول خود دارد و به آن دسترسی دارد، با آدرس MAC خود به مبدا پاسخ میدهد. در واقع سیستم 172.16.0.100 تصورش این است که MAC سیستم 172.16.1.100 معادل aaaa.aaaa.aaaa است. در این ارتباط، مبدا با تصور اینکه ترافیک خود را به سمت مقصدی در رنج خود ارسال میکند، تمام ترافیکش را به روتر میسپارد و روتر، عمل انتقال را با قابلیت proxy arp انجام میدهد.
این روش نوعی جعل است اما attack ایی اتفاق نمیافتد. به همین علت پورتی که بروی سوئیچ به روتر متصل است را trust میکنند.
برای فعالسازی این قابلیت، از دستور ip proxy-arp بروی اینترفیس مورد نظر استفاده میشود.