<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Membuat_Linux_Kebal_ARP_Poisoning_ARP_Spoofing</id>
	<title>Membuat Linux Kebal ARP Poisoning ARP Spoofing - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Membuat_Linux_Kebal_ARP_Poisoning_ARP_Spoofing"/>
	<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Membuat_Linux_Kebal_ARP_Poisoning_ARP_Spoofing&amp;action=history"/>
	<updated>2026-04-20T18:12:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Membuat_Linux_Kebal_ARP_Poisoning_ARP_Spoofing&amp;diff=24241&amp;oldid=prev</id>
		<title>Onnowpurbo: New page: Sumber: http://awarmanf.wordpress.com/2009/12/23/membuat-linux-kebal-arp-poisoning-arp-spoofing/  Membuat router linux anda kebal arp poisoning (arp spoofing)  with 22 comments  Artikel me...</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Membuat_Linux_Kebal_ARP_Poisoning_ARP_Spoofing&amp;diff=24241&amp;oldid=prev"/>
		<updated>2011-01-04T12:50:02Z</updated>

		<summary type="html">&lt;p&gt;New page: Sumber: http://awarmanf.wordpress.com/2009/12/23/membuat-linux-kebal-arp-poisoning-arp-spoofing/  Membuat router linux anda kebal arp poisoning (arp spoofing)  with 22 comments  Artikel me...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Sumber: http://awarmanf.wordpress.com/2009/12/23/membuat-linux-kebal-arp-poisoning-arp-spoofing/&lt;br /&gt;
&lt;br /&gt;
Membuat router linux anda kebal arp poisoning (arp spoofing)&lt;br /&gt;
&lt;br /&gt;
with 22 comments&lt;br /&gt;
&lt;br /&gt;
Artikel mengenai arp poisoning atau arp spoofing sudah banyak ditulis di internet. Pencarian di google dengan entri arp poisoning memberikan banyak entry. Sekarang bagaimana membuat router linux kebal terhadap arp poisoning ? Dalam kasus ini kita akan melindungi linux dari arp spoofing hanya di interface lan (local area network).&lt;br /&gt;
Untuk instal arptables, di distro linux keluarga debian jalankan:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install arptables&lt;br /&gt;
&lt;br /&gt;
Sedangkan untuk distro lain, seperti slackware, download source arptables di http://sourceforge.net/projects/ebtables/files/arptables/&lt;br /&gt;
Untuk distro seperti slackware ini, kita harus melakukan beberapa modifikasi:&lt;br /&gt;
&lt;br /&gt;
 # mkdir /etc/sysconfig&lt;br /&gt;
 # tar zxf arptables-v0.0.3-3.tar.gz&lt;br /&gt;
 # cd arptables-v0.0.3-3&lt;br /&gt;
 # make &amp;amp;&amp;amp; make install&lt;br /&gt;
 # cd /etc/sysconfig&lt;br /&gt;
 # echo &amp;#039;NETWORKING=no&amp;#039; &amp;gt;&amp;gt; network&lt;br /&gt;
&lt;br /&gt;
Pertama, buat file yang berisi daftar mac address dan ip address seperti contoh di bawah:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/arptables&lt;br /&gt;
 # baris yang berisi karakter &amp;#039;#&amp;#039; di awal baris tidak akan diproses oleh script&lt;br /&gt;
 # pc 1&lt;br /&gt;
 192.168.0.1 00:1B:B9:CF:2A:15&lt;br /&gt;
 # pc 2&lt;br /&gt;
 192.168.0.2 00:1B:B9:AE:20:0B&lt;br /&gt;
 # pc 3&lt;br /&gt;
 192.168.0.3 00:1B:B9:CF:03:C3&lt;br /&gt;
 # pc 4&lt;br /&gt;
 192.168.0.4 00:1B:B9:AB:BB:02&lt;br /&gt;
 # pc 5&lt;br /&gt;
 192.168.0.5 00:1B:B9:AE:ED:F1&lt;br /&gt;
 192.168.0.6 00:1B:B9:CF:27:E4&lt;br /&gt;
 192.168.0.7 00:1B:B9:AE:2F:B9&lt;br /&gt;
 192.168.0.8 00:1B:B9:AD:19:ED&lt;br /&gt;
 192.168.0.17 00:1B:B9:CF:23:24&lt;br /&gt;
 192.168.0.18 00:1B:B9:CF:0A:C8&lt;br /&gt;
 192.168.0.19 00:1B:B9:80:C6:2B&lt;br /&gt;
 192.168.0.20 00:1B:B9:CE:57:52&lt;br /&gt;
 192.168.0.21 00:1B:B9:CF:0A:E6&lt;br /&gt;
 192.168.0.22 00:1B:B9:AE:28:9D&lt;br /&gt;
 192.168.0.23 00:1B:B9:CF:1B:80&lt;br /&gt;
 192.168.0.50 00:19:66:52:10:B2&lt;br /&gt;
 192.168.0.51 00:19:21:17:5C:98&lt;br /&gt;
 192.168.0.71 00:04:75:7A:B8:9A&lt;br /&gt;
 192.168.0.99 00:02:44:89:82:F5&lt;br /&gt;
 192.168.0.250 00:02:B3:09:71:B4&lt;br /&gt;
 192.168.0.252 00:19:21:13:57:5D&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kedua, buat script model script init, script ini akan melindungi interface lan linux dari arp poisoning, interface wan perlu didefinisikan di sini agar arp request dan reply dari dan ke port wan tidak didrop oleh arptables:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 PATH=/bin:/usr/bin&lt;br /&gt;
 &lt;br /&gt;
 # Script untuk membuat linux kebal dari arp poisoning (arp spoofing)&lt;br /&gt;
 # File: rc.arptables&lt;br /&gt;
 &lt;br /&gt;
 # Parameter&lt;br /&gt;
 ARPTABLES=&amp;quot;/sbin/arptables&amp;quot;&lt;br /&gt;
 ARP=&amp;quot;/usr/sbin/arp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # File arp table (ip &amp;amp; mac address pairs with space delimiter)&lt;br /&gt;
 # 192.168.1.100 00:14:BF:CC:9F:07&lt;br /&gt;
 FARPTABLE=&amp;quot;/etc/arptables&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # put your LOCAL INTERFACE here&lt;br /&gt;
 INT=&amp;quot;eth0&amp;quot;&lt;br /&gt;
 # Put your WAN INTERFACE here&lt;br /&gt;
 WAN1=&amp;quot;eth1&amp;quot;&lt;br /&gt;
 WAN2=&amp;quot;eth2&amp;quot;&lt;br /&gt;
 WAN3=&amp;quot;eth3&amp;quot;&lt;br /&gt;
 WAN4=&amp;quot;eth4&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 if [ ! -e $FARPTABLE ]; then echo $FARPTABLE not found; exit 0; fi&lt;br /&gt;
 if [ ! -x $ARPTABLES ]; then echo $ARPTABLES not found; exit 0; fi &lt;br /&gt;
 &lt;br /&gt;
 arptables_flush() {&lt;br /&gt;
   # Flush table&lt;br /&gt;
   # reset the default policies in the filter table.&lt;br /&gt;
   #&lt;br /&gt;
   $ARPTABLES -P INPUT ACCEPT&lt;br /&gt;
   $ARPTABLES -P OUTPUT ACCEPT&lt;br /&gt;
   #&lt;br /&gt;
   # flush all the rules in the filter&lt;br /&gt;
   #&lt;br /&gt;
   $ARPTABLES -F&lt;br /&gt;
   #&lt;br /&gt;
   # erase all chains that&amp;#039;s not default in filter.&lt;br /&gt;
   #&lt;br /&gt;
   $ARPTABLES -X&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
   start)&lt;br /&gt;
     echo -n &amp;quot;Starting arptables:&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
     arptables_flush&lt;br /&gt;
 &lt;br /&gt;
     #&lt;br /&gt;
     # Filter table&lt;br /&gt;
     # Set policies&lt;br /&gt;
     #&lt;br /&gt;
     $ARPTABLES -A INPUT -j ACCEPT -i $WAN1&lt;br /&gt;
     $ARPTABLES -A INPUT -j ACCEPT -i $WAN2&lt;br /&gt;
     $ARPTABLES -A INPUT -j ACCEPT -i $WAN3&lt;br /&gt;
     $ARPTABLES -A INPUT -j ACCEPT -i $WAN4&lt;br /&gt;
     $ARPTABLES -P INPUT DROP -i $INT&lt;br /&gt;
     $ARPTABLES -A OUTPUT -j ACCEPT -o $WAN1&lt;br /&gt;
     $ARPTABLES -A OUTPUT -j ACCEPT -o $WAN2&lt;br /&gt;
     $ARPTABLES -A OUTPUT -j ACCEPT -o $WAN3&lt;br /&gt;
     $ARPTABLES -A OUTPUT -j ACCEPT -o $WAN4&lt;br /&gt;
     $ARPTABLES -P OUTPUT DROP -o $INT &lt;br /&gt;
 &lt;br /&gt;
     grep -v &amp;#039;^#&amp;#039; $FARPTABLE |&lt;br /&gt;
     while read i&lt;br /&gt;
     do&lt;br /&gt;
       IP=`echo $i|cut -f1 -d&amp;#039; &amp;#039;`&lt;br /&gt;
       MAC=`echo $i|cut -f2 -d&amp;#039; &amp;#039;`&lt;br /&gt;
       $ARPTABLES -A INPUT -s $IP --source-mac $MAC -j ACCEPT -i $INT&lt;br /&gt;
       $ARPTABLES -A OUTPUT -d $IP --destination-mac $MAC -j ACCEPT -o $INT&lt;br /&gt;
       $ARP -i $INT -s $IP $MAC&lt;br /&gt;
     done&lt;br /&gt;
     touch /tmp/ARPTABLES&lt;br /&gt;
     echo &amp;quot;.&amp;quot;&lt;br /&gt;
     ;;&lt;br /&gt;
   stop)&lt;br /&gt;
     echo -n &amp;quot;Stopping arptables:&amp;quot;&lt;br /&gt;
     arptables_flush&lt;br /&gt;
     # Flush arp&lt;br /&gt;
     grep -v &amp;#039;^#&amp;#039; $FARPTABLE |&lt;br /&gt;
     while read i&lt;br /&gt;
     do&lt;br /&gt;
       IP=`echo $i|cut -f1 -d&amp;#039; &amp;#039;`&lt;br /&gt;
       $ARP -i $INT -d $IP&lt;br /&gt;
     done&lt;br /&gt;
     rm -f /tmp/ARPTABLES&lt;br /&gt;
     echo &amp;quot;.&amp;quot;&lt;br /&gt;
     ;;&lt;br /&gt;
   stat)&lt;br /&gt;
     if [ -f /tmp/ARPTABLES ]; then&lt;br /&gt;
       echo &amp;quot;arptables is on.&amp;quot;&lt;br /&gt;
       $ARPTABLES -L -n&lt;br /&gt;
     else&lt;br /&gt;
       echo &amp;quot;arptables is off.&amp;quot;&lt;br /&gt;
       $ARPTABLES -L -n&lt;br /&gt;
     fi&lt;br /&gt;
     ;;&lt;br /&gt;
   *)&lt;br /&gt;
     echo &amp;quot;Usage: $0 {start|stop|stat}&amp;quot;&lt;br /&gt;
     exit 1&lt;br /&gt;
     ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setelah script selesai dibuat, jalankan script tersebut:&lt;br /&gt;
&lt;br /&gt;
 # chmod 755 rc.arptables&lt;br /&gt;
 # ./rc.arptables stat&lt;br /&gt;
 arptables is off.&lt;br /&gt;
 Chain INPUT (policy ACCEPT) &lt;br /&gt;
 &lt;br /&gt;
 Chain OUTPUT (policy ACCEPT)&lt;br /&gt;
 &lt;br /&gt;
 Chain FORWARD (policy ACCEPT)&lt;br /&gt;
 # ./rc.arptables start&lt;br /&gt;
 Starting arptables:.&lt;br /&gt;
 # ./rc.arptables stat&lt;br /&gt;
 arptables is on.&lt;br /&gt;
 Chain INPUT (policy DROP)&lt;br /&gt;
 -j ACCEPT -s 192.168.0.1 --src-mac 00:1b:b9:cf:2a:15&lt;br /&gt;
 -j ACCEPT -s 192.168.0.2 --src-mac 00:1b:b9:ae:20:0b&lt;br /&gt;
 -j ACCEPT -s 192.168.0.3 --src-mac 00:1b:b9:cf:03:c3&lt;br /&gt;
 -j ACCEPT -s 192.168.0.4 --src-mac 00:1b:b9:ab:bb:02&lt;br /&gt;
 -j ACCEPT -s 192.168.0.5 --src-mac 00:1b:b9:ae:ed:f1&lt;br /&gt;
 -j ACCEPT -s 192.168.0.6 --src-mac 00:1b:b9:cf:27:e4&lt;br /&gt;
 -j ACCEPT -s 192.168.0.7 --src-mac 00:1b:b9:ae:2f:b9&lt;br /&gt;
 -j ACCEPT -s 192.168.0.8 --src-mac 00:1b:b9:ad:19:ed&lt;br /&gt;
 -j ACCEPT -s 192.168.0.17 --src-mac 00:1b:b9:cf:23:24&lt;br /&gt;
 -j ACCEPT -s 192.168.0.18 --src-mac 00:1b:b9:cf:0a:c8&lt;br /&gt;
 -j ACCEPT -s 192.168.0.19 --src-mac 00:1b:b9:80:c6:2b&lt;br /&gt;
 -j ACCEPT -s 192.168.0.20 --src-mac 00:1b:b9:ce:57:52&lt;br /&gt;
 -j ACCEPT -s 192.168.0.21 --src-mac 00:1b:b9:cf:0a:e6&lt;br /&gt;
 -j ACCEPT -s 192.168.0.22 --src-mac 00:1b:b9:ae:28:9d&lt;br /&gt;
 -j ACCEPT -s 192.168.0.23 --src-mac 00:1b:b9:cf:1b:80&lt;br /&gt;
 -j ACCEPT -s 192.168.0.50 --src-mac 00:19:66:52:10:b2&lt;br /&gt;
 -j ACCEPT -s 192.168.0.51 --src-mac 00:19:21:17:5c:98&lt;br /&gt;
 -j ACCEPT -s 192.168.0.71 --src-mac 00:04:75:7a:b8:9a&lt;br /&gt;
 -j ACCEPT -s 192.168.0.99 --src-mac 00:02:44:89:82:f5&lt;br /&gt;
 -j ACCEPT -s 192.168.0.250 --src-mac 00:02:b3:09:71:b4&lt;br /&gt;
 -j ACCEPT -s 192.168.0.252 --src-mac 00:19:21:13:57:5d  &lt;br /&gt;
 &lt;br /&gt;
 Chain OUTPUT (policy DROP)&lt;br /&gt;
 -j ACCEPT -d 192.168.0.1 --dst-mac 00:1b:b9:cf:2a:15&lt;br /&gt;
 -j ACCEPT -d 192.168.0.2 --dst-mac 00:1b:b9:ae:20:0b&lt;br /&gt;
 -j ACCEPT -d 192.168.0.3 --dst-mac 00:1b:b9:cf:03:c3&lt;br /&gt;
 -j ACCEPT -d 192.168.0.4 --dst-mac 00:1b:b9:ab:bb:02&lt;br /&gt;
 -j ACCEPT -d 192.168.0.5 --dst-mac 00:1b:b9:ae:ed:f1&lt;br /&gt;
 -j ACCEPT -d 192.168.0.6 --dst-mac 00:1b:b9:cf:27:e4&lt;br /&gt;
 -j ACCEPT -d 192.168.0.7 --dst-mac 00:1b:b9:ae:2f:b9&lt;br /&gt;
 -j ACCEPT -d 192.168.0.8 --dst-mac 00:1b:b9:ad:19:ed&lt;br /&gt;
 -j ACCEPT -d 192.168.0.17 --dst-mac 00:1b:b9:cf:23:24&lt;br /&gt;
 -j ACCEPT -d 192.168.0.18 --dst-mac 00:1b:b9:cf:0a:c8&lt;br /&gt;
 -j ACCEPT -d 192.168.0.19 --dst-mac 00:1b:b9:80:c6:2b&lt;br /&gt;
 -j ACCEPT -d 192.168.0.20 --dst-mac 00:1b:b9:ce:57:52&lt;br /&gt;
 -j ACCEPT -d 192.168.0.21 --dst-mac 00:1b:b9:cf:0a:e6&lt;br /&gt;
 -j ACCEPT -d 192.168.0.22 --dst-mac 00:1b:b9:ae:28:9d&lt;br /&gt;
 -j ACCEPT -d 192.168.0.23 --dst-mac 00:1b:b9:cf:1b:80&lt;br /&gt;
 -j ACCEPT -d 192.168.0.50 --dst-mac 00:19:66:52:10:b2&lt;br /&gt;
 -j ACCEPT -d 192.168.0.51 --dst-mac 00:19:21:17:5c:98&lt;br /&gt;
 -j ACCEPT -d 192.168.0.71 --dst-mac 00:04:75:7a:b8:9a&lt;br /&gt;
 -j ACCEPT -d 192.168.0.99 --dst-mac 00:02:44:89:82:f5&lt;br /&gt;
 -j ACCEPT -d 192.168.0.250 --dst-mac 00:02:b3:09:71:b4&lt;br /&gt;
 -j ACCEPT -d 192.168.0.252 --dst-mac 00:19:21:13:57:5d &lt;br /&gt;
 &lt;br /&gt;
 Chain FORWARD (policy DROP)&lt;br /&gt;
&lt;br /&gt;
Sekarang coba kita hapus table arp yang menyimpan mac address interface wan:&lt;br /&gt;
&lt;br /&gt;
 # arp -i eth1 -d 192.168.1.1; arp -i eth2 -d 192.168.2.1&lt;br /&gt;
 # arp -i eth3 -d 192.168.1.9; arp -i eth4 -d 192.168.1.5&lt;br /&gt;
&lt;br /&gt;
Dan lihat isi table arp apakah daftar tersebut sudah bersih, kalau “belum bersih” hal itu karena interface wan ini aktif sebagai gateway ke internet jadi table arp segera langsung terisi, hal ini membuktikan script di atas cocok dipakai untuk melindungi linux router dari arp spoofing / arp poisoning di interface lan:&lt;br /&gt;
&lt;br /&gt;
 # arp -n| grep -v CM&lt;br /&gt;
 Address                  HWtype  HWaddress           Flags Mask            Iface&lt;br /&gt;
 192.168.1.9              ether   00:0B:2B:32:C3:C4   C                     eth3&lt;br /&gt;
 192.168.1.5              ether   00:0B:2B:32:C3:86   C                     eth4&lt;br /&gt;
 192.168.2.1              ether   00:04:ED:6D:41:AE   C                     eth2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kalau ingin menjalankan rc.arptables sebagai init scripts yang otomatis dijalankan setiap kali linux boot. Untuk distro keluarga debian:&lt;br /&gt;
&lt;br /&gt;
 # cp rc.arptables /etc/init.d/&lt;br /&gt;
 # cd /etc/init.d&lt;br /&gt;
 # chmod 755 rc.arptables&lt;br /&gt;
 # update-rc.d rc.arptables start 20 2 3 4 5 . stop 20 1 6 .&lt;br /&gt;
&lt;br /&gt;
Slackware dan turunannya:&lt;br /&gt;
&lt;br /&gt;
 # cp rc.arptables /etc/rc.d/&lt;br /&gt;
 # cd /etc/rc.d&lt;br /&gt;
 # chmod 755 rc.arptables&lt;br /&gt;
 # echo &amp;quot;if [ -x /etc/rc.d/rc.arptables ]; then /etc/rc.d/rc.arptables start; fi&amp;quot; &amp;gt;&amp;gt; rc.local&lt;br /&gt;
 # echo &amp;quot;if [ -x /etc/rc.d/rc.arptables ]; then /etc/rc.d/rc.arptables stop; fi&amp;quot; &amp;gt;&amp;gt; rc.local_shutdown&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Referensi==&lt;br /&gt;
&lt;br /&gt;
* http://awarmanf.wordpress.com/2009/12/23/membuat-linux-kebal-arp-poisoning-arp-spoofing/&lt;br /&gt;
&lt;br /&gt;
==Pranala Menarik==&lt;br /&gt;
&lt;br /&gt;
* [[Keamanan Jaringan]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Network Security]]&lt;/div&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
</feed>