arplinux
❶ 菜鳥求助 linux下ARP請求發送和接收的問題
如果一台主機本身有對某台主機的IP和MAC映射,那麼發給它一個ARP的REPLY包時,目的IP如果是它本身已經有的映射的IP,它會更新對應IP的MAC地址;但是如果我發給他的回應包當中目的IP和目的MAC事先並不在那台機器中存在映射,它不會將這條新的映射添加到它的ARP映射表中。
但是如果發送的是請求包,那麼目的主機會將發送者的IP和MAC添加到自身的映射表中,無論之前是否有該映射,然後再向發送者回送一個REPLY包。
❷ Linux如何清理ARP緩存
命令紅色字體標記
系統初始arp環境
[root@esx ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.1.175 ether 00:24:1D:97:B6:7F C vswif0
192.168.1.120 ether 00:1F:C6:3A:DC:81 C vswif0
192.168.1.51 (incomplete) vswif0
執行清除所有arp 緩存命令
[root@esx ~]# arp -n|awk '/^[1-9]/{print "arp -d " $1}'|sh -x
+ arp -d 192.168.1.175
+ arp -d 192.168.1.120
+ arp -d 192.168.1.51
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。
❸ linux的arp解析關掉了,怎麼打開
<網路執法官> 軟體
網路執法官是一款網管軟體,可用於管理區域網,能禁止區域網任意機器連接網路。對於網管來說,這個功能自然很不錯,但如果區域網中有別人也使用該功能那就麻煩了。因為這樣輕則會導致別人無法上網,重則會導致整個區域網癱瘓。有什麼解決辦法呢?請您看下面的招數及其原理。
一、網路執法官簡介
我們可以在區域網中任意一台機器上運行網路執法官的主程序NetRobocop.exe。它可以穿透防火牆、實時監控、記錄整個區域網用戶上線情況,可限制各用戶上線時所用的IP、時段,並可將非法用戶踢下區域網。該軟體適用范圍為區域網內部,不能對網關或路由器外的機器進行監視或管理,適合區域網管理員使用。
在網路執法官中,要想限制某台機器上網,只要點擊"網卡"菜單中的"許可權",選擇指定的網卡號或在用戶列表中點擊該網卡所在行,從右鍵菜單中選擇"許可權",在彈出的對話框中即可限制該用戶的許可權。對於未登記網卡,可以這樣限定其上線:只要設定好所有已知用戶(登記)後,將網卡的默認許可權改為禁止上線即可阻止所有未知的網卡上線。使用這兩個功能就可限制用戶上網。其原理是通過ARP欺騙發給被攻擊的電腦一個假的網關IP地址對應的MAC,使其找不到網關真正的MAC地址,這樣就可以禁止其上網。
二、ARP欺騙的原理
網路執法官中利用的ARP欺騙使被攻擊的電腦無法上網,其原理就是使該電腦無法找到網關的MAC地址。那麼ARP欺騙到底是怎麼回事呢?知其然,知其所以然是我們的優良傳統,下面我們就談談這個問題。
首先給大家說說什麼是ARP,ARP(Address Resolution Protocol)是地址解析協議,是一種將IP地址轉化成物理地址的協議。從IP地址到物理地址的映射有兩種方式:表格方式和非表格方式。ARP具體說來就是將網路層(IP層,也就是相當於OSI的第三層)地址解析為數據連接層(MAC層,也就是相當於OSI的第二層)的MAC地址。
ARP原理:某機器A要向主機B發送報文,會查詢本地的ARP緩存表,找到B的IP地址對應的MAC地址後,就會進行數據傳輸。如果未找到,則廣播A一個ARP請求報文(攜帶主機A的IP地址Ia——物理地址Pa),請求IP地址為Ib的主機B回答物理地址Pb。網上所有主機包括B都收到ARP請求,但只有主機B識別自己的IP地址,於是向A主機發回一個ARP響應報文。其中就包含有B的MAC地址,A接收到B的應答後,就會更新本地的ARP緩存。接著使用這個MAC地址發送數據(由網卡附加MAC地址)。因此,本地高速緩存的這個ARP表是本地網路流通的基礎,而且這個緩存是動態的。
ARP協議並不只在發送了ARP請求才接收ARP應答。當計算機接收到ARP應答數據包的時候,就會對本地的ARP緩存進行更新,將應答中的IP和MAC地址存儲在ARP緩存中。因此,當區域網中的某台機器B向A發送一個自己偽造的ARP應答,而如果這個應答是B冒充C偽造來的,即IP地址為C的IP,而MAC地址是偽造的,則當A接收到B偽造的ARP應答後,就會更新本地的ARP緩存,這樣在A看來C的IP地址沒有變,而它的MAC地址已經不是原來那個了。由於區域網的網路流通不是根據IP地址進行,而是按照MAC地址進行傳輸。所以,那個偽造出來的MAC地址在A上被改變成一個不存在的MAC地址,這樣就會造成網路不通,導致A不能Ping通C!這就是一個簡單的ARP欺騙。
網路執法官利用的就是這個原理!知道了它的原理,再突破它的防線就容易多了。
三、修改MAC地址突破網路執法官的封鎖
根據上面的分析,我們不難得出結論:只要修改MAC地址,就可以騙過網路執法官的掃描,從而達到突破封鎖的目的。下面是修改網卡MAC地址的方法:
在"開始"菜單的"運行"中輸入regedit,打開注冊表編輯器,展開注冊表到:HKEY_LOCAL_ MACHINE\System\CurrentControlSet\Control\Class\子鍵,在子鍵下的0000,0001,0002等分支中查找DriverDesc(如果你有一塊以上的網卡,就有0001,0002......在這里保存了有關你的網卡的信息,其中的DriverDesc內容就是網卡的信息描述,比如我的網卡是Intel 210 41 based Ethernet Controller),在這里假設你的網卡在0000子鍵。在0000子鍵下添加一個字元串,命名為"NetworkAddress",鍵值為修改後的MAC地址,要求為連續的12個16進制數。然後在"0000"子鍵下的NDI\params中新建一項名為NetworkAddress的子鍵,在該子鍵下添加名為"default"的字元串,鍵值為修改後的MAC地址。
在NetworkAddress的子鍵下繼續建立名為"ParamDesc"的字元串,其作用為指定Network Address的描述,其值可為"MAC Address"。這樣以後打開網路鄰居的"屬性",雙擊相應的網卡就會發現有一個"高級"設置,其下存在MAC Address的選項,它就是你在注冊表中加入的新項"NetworkAddress",以後只要在此修改MAC地址就可以了。
關閉注冊表,重新啟動,你的網卡地址已改。打開網路鄰居的屬性,雙擊相應網卡項會發現有一個MAC Address的高級設置項,用於直接修改MAC地址。
MAC地址也叫物理地址、硬體地址或鏈路地址,由網路設備製造商生產時寫在硬體內部。這個地址與網路無關,即無論將帶有這個地址的硬體(如網卡、集線器、路由器等)接入到網路的何處,它都有相同的MAC地址,MAC地址一般不可改變,不能由用戶自己設定。MAC地址通常表示為12個16進制數,每2個16進制數之間用冒號隔開,如:08:00:20:0A:8C:6D就是一個MAC地址,其中前6位16進制數,08:00:20代表網路硬體製造商的編號,它由IEEE分配,而後3位16進制數0A:8C:6D代表該製造商所製造的某個網路產品(如網卡)的系列號。每個網路製造商必須確保它所製造的每個乙太網設備都具有相同的前三位元組以及不同的後三個位元組。這樣就可保證世界上每個乙太網設備都具有唯一的MAC地址。
另外,網路執法官的原理是通過ARP欺騙發給某台電腦有關假的網關IP地址所對應的MAC地址,使其找不到網關真正的MAC地址。因此,只要我們修改IP到MAC的映射就可使網路執法官的ARP欺騙失效,就隔開突破它的限制。你可以事先Ping一下網關,然後再用ARP -a命令得到網關的MAC地址,最後用ARP -s IP 網卡MAC地址命令把網關的IP地址和它的MAC地址映射起來就可以了。
四、找到使你無法上網的對方
解除了網路執法官的封鎖後,我們可以利用Arpkiller的"Sniffer殺手"掃描整個區域網IP段,然後查找處在"混雜"模式下的計算機,就可以發現對方了。具體方法是:運行Arpkiller,然後點擊"Sniffer監測工具",在出現的"Sniffer殺手"窗口中輸入檢測的起始和終止IP,單擊"開始檢測"就可以了。
檢測完成後,如果相應的IP是綠帽子圖標,說明這個IP處於正常模式,如果是紅帽子則說明該網卡處於混雜模式。它就是我們的目標,就是這個傢伙在用網路執法官在搗亂。
掃描時自己也處在混雜模式,把自己不能算在其中哦!
找到對方後怎麼對付他就是你的事了。
五、再來兩招輕松防範網路執法官
NO.1 首先呢,最穩妥的一個辦法就是修改機器的MAC地址,只要把MAC地址改為別的,就可以欺騙過網路執法官,從而達到突破封鎖的目的。下面是修改MAC地址的方法:
linux環境下:
需要用
#ifconfig eth0 down
先把網卡禁用
再用ifconfig eth0 hw ether 1234567890ab
這樣就可以改成功了
要想永久改就這樣
在/etc/rc.d/rc.local里加上這三句(也可以在/etc/init.d/network里加下面三行)
ifconfig eth0 down
ifconfig eth0 hw ether 1234567890ab
ifconfig eth0 up
另:
在win2000中改MAC地址的方法:
打開注冊表編輯器,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\子鍵,在該子鍵下的0000,0001,0002等分支中查找DriverDesc,在0000子鍵下天一個字元串項,命名為NetworkAddress,鍵值設為修改後的MAC地址,要求為連續的12個16進制數,如1234567890AB(注意位數要對!不能是000000000000,不能與別的機器重復)。然後在0000下的NDI\params中加一項名為NetworkAddress的子鍵,在該子鍵下添加名為default的字元串,鍵值為修改後的MAC地址,與上面的數值相同。在NetworkAddress的主鍵下繼續添加命名為ParamDesc的字元串,其作用是制定NetworkAddress主鍵的描述,其值可為「MAC 地址」,這樣以後打開網路屬性,雙擊相應的網卡會發現有一個高級設置,其下坐在「MAC地址」的選項,在此修改MAC地址就可以了,修改後需重啟。
Windows環境:
用dos,8139的可以改,用realtek的pg8139.exe,比如 是8139c網卡,就改寫8139c.cfg文件,第一行就是網卡mac,想怎麼改就怎麼改
NO.2 另外一種方法,我沒有試,一種設想,有條件的朋友幫忙試一下。
由於網路執法官的原理是通過ARP欺騙發給被攻擊的電腦一個假的網關IP地址對應的MAC,使其找不到網關真正的MAC,那麼我們可以自己修改IP->MAC的映射,使網路執法官ARP欺騙失效。具體做法如下:
在還沒有被封鎖的時候進入CMD執行如下命令
e:\>ping 192.168.9.1 (假設此地址位網關。)
Pinging 192.168.9.1 with 32 bytes of data:
Reply from 192.168.9.1: bytes=32 time<10ms TTL=64
Reply from 192.168.9.1: bytes=32 time<10ms TTL=64
Reply from 192.168.9.1: bytes=32 time<10ms TTL=64
Reply from 192.168.9.1: bytes=32 time<10ms TTL=64
Ping statistics for 192.168.9.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
e:\>arp -a
Interface: 192.168.9.1 on Interface 0x5000003
Internet Address Physical Address Type
192.168.9.1 00-0E-70-32-f1-02 dynamic
(上面的就是網關的MAC)
然後作這樣一個批處理文件保存起來。。注意!!!地址要換為你自己的網關的IP和MAC
arp -s 192.168.9.1 00-0E-70-32-f1-02
然後呢,在你被封鎖的時候,就執行這個批處理吧。
NO.3 如果解除了網路執法官的封鎖可不可以查到使用網路執法官的人究竟是誰呢?答案是可以!利用arpkiller的sniffer殺手掃描整個區域網IP段查找處在「混雜」(監聽)模式下的計算機,應該就是他了
❹ 如何在我的linux查看我的arp表格
在linux中查看arp地址解析協議需要使用終端命令。
以Deepin linux為例,使用終端命令查看arp步驟如下所示:
1、在程序列表中點擊打開終端命令程序。
❺ Linux如何清理ARP緩存
1、系統初始arp環境
[root@esx ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.1.175 ether 00:24:1D:97:B6:7F C vswif0
192.168.1.120 ether 00:1F:C6:3A:DC:81 C vswif0
192.168.1.51 (incomplete) vswif0
2、執行清除所有arp 緩存命令
[root@esx ~]# arp -n|awk '/^[1-9]/{print "arp -d " $1}'|sh -x
+ arp -d 192.168.1.175
+ arp -d 192.168.1.120
+ arp -d 192.168.1.51
3、執行命令後,本機arp緩存信息
[root@esx ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.1.175 (incomplete) vswif0
192.168.1.120 (incomplete) vswif0
192.168.1.51 (incomplete) vswif0
❻ arp病毒 能在Linux 上運行嗎Linux上有什麼好的殺毒軟體嗎(免費的)
這是網上一篇教程
arp緩存就是ip地址和mac地址關系緩存列表。在windows下
arp
-d
[$ip]
不指定ip地址時清除所有arp緩存。在linux下
arp
-d
$ip
必須指定ip地址才能執行這條命令的此參數,所有在linux系統下
arp
-d
$ip
命令只能清除一個ip地址的對應mac地址緩存,當然可以使用組合命令操作,這也算是linux的一個優點吧。
組合命令清除所有arp緩存:arp
-n|awk
'/^[1-9]/{system("arp
-d
"$1)}'其實linux也有內部命令清除所有arp緩存,但是不太好記憶,用的人很少。以下命令清除eth0介面的所有arp緩存。ip
neigh
flush
dev
eth0
❼ 如何在Linux下禁用ARP協議
ARP關閉方法如下:
名詞解釋
ARP(地址解析協議)
地址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的ARP請求廣播到網路上的所有主機,並接收返回消息,以此確定目標的物理地址;收到返回消息後將該IP地址和物理地址存入本機ARP緩存中並保留一定時間,下次請求時直接查詢ARP緩存以節約資源。地址解析協議是建立在網路中各個主機互相信任的基礎上的,網路上的主機可以自主發送ARP應答消息,其他主機收到應答報文時不會檢測該報文的真實性就會將其記入本機ARP緩存;由此攻擊者就可以向某一主機發送偽ARP應答報文,使其發送的信息無法到達預期的主機或到達錯誤的主機,這就構成了一個ARP欺騙。ARP命令可用於查詢本機ARP緩存中IP地址和MAC地址的對應關系、添加或刪除靜態對應關系等。相關協議有RARP、代理ARP。NDP用於在IPv6中代替地址解析協議。
方法一:禁用網卡的ARP協議
使用 ifconfig eth0 -arp
方法二:關閉內核的ARP功能
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
方法三:安裝軟體
安裝arptables(類似iptables),ARP協議還是啟動,但是arptables drop所有進入和出去的包
arptables -A INPUT -j DROP
arptables -A OUTPUT -j DROP
❽ linux打開網卡eth0的arp解析
ifconfig eht0 arp 把「-」 去掉! 看一下man ifconfig 的一段# man ifconfig [-]arp Enable or disable the use of the ARP protocol on this interface.
❾ linux系統中,用arp -a和ipconfig -a查到的MAC地址不一樣是怎麼回事
arp 是查其他主機的
ipconfig 是查自己的
❿ 如何給linux給ARP表添加條目
Liunx添加ARP表方式如下:
[功能]
管理系統的arp緩存。
[描述]
用來管理系統的arp緩存,常用的命令包括:
arp: 顯示所有的表項。
arp -d address: 刪除一個arp表項。
arp -s address hw_addr: 設置一個arp表項。
常用參數:
-a 使用bsd形式輸出。(沒有固定的列)
-n 使用數字形式顯示ip地址,而不是默認的主機名形式。
-D 不是指定硬體地址而是指定一個網路介面的名稱,表項將使用相應介面的MAC地址。一般用來設置ARP代理。
-H type, --hw-type type: 指定檢查特定類型的表項,默認type為ether,還有其他類型。
-i If, --device If: 指定設置哪個網路介面上面的arp表項。
-f filename: 作用同'-s',不過它通過文件來指定IP地址和MAC地址的綁定。文件中每行分別是主機和MAC,中間以空格分割。如果沒有指定文件名稱,則使用/etc/ethers文件。
以下例子中,用主機名稱的地方也可以用點分10進制的ip地址來表示。另外輸出結果中用"C"表示ARP緩存內容,"M"表示永久性表項,"P"表示公共的表項。
[舉例]
*查看arp表:
#arp
Address HWtype HWaddress FlagsMask Iface
hostname1 ether 44:37:e6:97:92:16 C eth0
hostname2 ether 00:0f:fe:43:28:c5 C eth0
hostname3 ether 00:1d:92:e3:d5:ee C eth0
hostname4 ether 00:1d:0f:11:f2:a5 C eth0
這里,Flags中的"C"代表此表項目是高速緩存中的內容,高速緩存中的內容過一段時間(一般20分鍾)會清空,而"M"則表示靜態表項,靜態表項的內容不會過一段時間被清空。
*查看arp表,並且用ip顯示而不是主機名稱:
# arp -n
Address HWtype HWaddress FlagsMask Iface
10.1.10.254 ether 00:1d:92:e3:d5:ee C eth0
10.1.10.253 ether 44:37:e6:9b:2c:53 C eth0
10.1.10.178 ether 00:1b:78:83:d9:85 C eth0
10.1.10.119 ether 00:1d:0f:11:f2:a5 C eth0
這里,對於上面的條目,假設當我們"ping 10.1.10.1"通過之後,arp中會多一條"10.1.10.1"相關的信息。
*查看arp表,顯示主機名稱和ip:
#arp -a
ns.amazon.esdl.others.com (10.1.10.254) at00:1d:92:e3:d5:ee [ether] on eth0
server.amazon.eadl.others.com (10.1.10.253) at44:37:e6:9b:2c:53 [ether] on eth0
D2-jh.amazon.esdl.others.com (10.1.10.178) at00:1b:78:83:d9:85 [ether] on eth0
aplab.local (10.1.10.119) at 00:1d:0f:11:f2:a5[ether] on eth0
*添加一對IP和MAC地址的綁定:
# arp -s 10.1.1.1 00:11:22:33:44:55:66
這里,如果網路無法達到,那麼會報告錯誤,具體如下:
root@quietheart:/home/lv-k# arp -s 10.1.1.100:11:22:33:44:55:66
SIOCSARP: Network is unreachable
root@quietheart:/home/lv-k# arp -n
Address HWtype HWaddress FlagsMask Iface
10.1.10.254 ether 00:1d:92:e3:d5:ee C eth0
10.1.10.253 ether 44:37:e6:9b:2c:53 C eth0
10.1.10.178 ether 00:1b:78:83:d9:85 C eth0
10.1.10.119 ether 00:1d:0f:11:f2:a5 C eth0
實際上,如果"arp -s"設置成功之後,會增加一個Flags為"CM"的表項,有些系統靜態條目不會因為ARP響應而更新,而高速緩存中的條目會因此而更新。如果想要手工設置沒有"M",那麼用"temp"選項,例如:"arp -s IP MAC temp"類似的命令,實踐發現,如果已經設置過IP了,那麼再設置也不會改變其Flags。
*刪除一個arp表項:
# arp -d 10.1.10.118
這里,刪除之後只是硬體地址沒有了,如下:
root@quietheart:~# arp -n
Address HWtype HWaddress FlagsMask Iface
10.1.10.118 ether 00:25:9c:c2:79:90 CM eth0
10.1.10.254 ether 00:1d:92:e3:d5:ee C eth0
root@quietheart:~# arp -d 10.1.10.118
root@quietheart:~# arp -n
Address HWtype HWaddress FlagsMask Iface
10.1.10.118 (incomplete) eth0
10.1.10.254 ether 00:1d:92:e3:d5:ee C
*刪除eth0上面的一個arp表項:
# arp -i eth0 -d 10.1.10.118
[其它]
*指定回復的MAC地址:
#/usr/sbin/arp -i eth0 -Ds 10.0.0.2 eth1 pub
當eth0收到IP地址為10.0.0.2的請求時,將會用eth1的MAC地址回答。
例如,雙網卡機器運行這條命令:
/usr/sbin/arp -i eth0 -Ds 10.0.0.2 eth1 pub
會多一項:
10.0.0.2 * MP eth0