導航:首頁 > 程序命令 > linuxarp緩存命令

linuxarp緩存命令

發布時間:2022-09-08 17:16:28

⑴ 如何給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

⑵ 關於LINUX最基本的一些命令

Linux常用命令大全

系統信息
arch 顯示機器的處理器架構(1)
uname -m 顯示機器的處理器架構(2)
uname -r 顯示正在使用的內核版本
dmidecode -q 顯示硬體系統部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 羅列一個磁碟的架構特性
hdparm -tT /dev/sda 在磁碟上執行測試性讀取操作
cat /proc/cpuinfo 顯示CPU info的信息
cat /proc/interrupts 顯示中斷
cat /proc/meminfo 校驗內存使用
cat /proc/swaps 顯示哪些swap被使用
cat /proc/version 顯示內核的版本
cat /proc/net/dev 顯示網路適配器及統計
cat /proc/mounts 顯示已載入的文件系統
lspci -tv 羅列 PCI 設備
lsusb -tv 顯示 USB 設備
date 顯示系統日期
cal 2007 顯示2007年的日歷表
date 041217002007.00 設置日期和時間 - 月日時分年.秒
clock -w 將時間修改保存到 BIOS

關機 (系統的關機、重啟以及登出 )
shutdown -h now 關閉系統(1)
init 0 關閉系統(2)
telinit 0 關閉系統(3)
shutdown -h hours:minutes & 按預定時間關閉系統
shutdown -c 取消按預定時間關閉系統
shutdown -r now 重啟(1)
reboot 重啟(2)
logout 注銷

文件和目錄
cd /home 進入 '/ home' 目錄'
cd .. 返回上一級目錄
cd ../.. 返回上兩級目錄
cd 進入個人的主目錄
cd ~user1 進入個人的主目錄
cd - 返回上次所在的目錄
pwd 顯示工作路徑
ls 查看目錄中的文件
ls -F 查看目錄中的文件
ls -l 顯示文件和目錄的詳細資料
ls -a 顯示隱藏文件
ls *[0-9]* 顯示包含數字的文件名和目錄名
tree 顯示文件和目錄由根目錄開始的樹形結構(1)
lstree 顯示文件和目錄由根目錄開始的樹形結構(2)
mkdir dir1 創建一個叫做 'dir1' 的目錄'
mkdir dir1 dir2 同時創建兩個目錄
mkdir -p /tmp/dir1/dir2 創建一個目錄樹
rm -f file1 刪除一個叫做 'file1' 的文件'
rmdir dir1 刪除一個叫做 'dir1' 的目錄'
rm -rf dir1 刪除一個叫做 'dir1' 的目錄並同時刪除其內容
rm -rf dir1 dir2 同時刪除兩個目錄及它們的內容
mv dir1 new_dir 重命名/移動 一個目錄
cp file1 file2 復制一個文件
cp dir/* . 復制一個目錄下的所有文件到當前工作目錄
cp -a /tmp/dir1 . 復制一個目錄到當前工作目錄
cp -a dir1 dir2 復制一個目錄
ln -s file1 lnk1 創建一個指向文件或目錄的軟鏈接
ln file1 lnk1 創建一個指向文件或目錄的物理鏈接

⑶ Linux主機如何防範ARP攻擊

arp欺騙的原理不多述,基本就是利用發 送假的arp數據包,冒充網關。一般在網上通訊的時候網關的IP和MAC的綁定是放在arp 緩存裡面的,假的arp包就會刷新這個緩存,導致本該發送到網關的數據包發到了欺騙 者那裡。解決的辦法就是靜態arp。
假設網關的IP是192.168.0.1,我們要 先得到網關的正確MAC,先ping一下網關:
ping 192.168.0.1

然後運行arp查看arp緩存中的網關MAC:
localhost~$ arp
Address HWtype HWaddress Flags Mask Interface
192.168.0.1 ether 00:12:34:56:78:9A C eth0
、這里得到的網關MAC假定 為00:12:34:56:78:9A,C代表這個綁定是保存在緩沖里的,我們要做的就是把這個IP和 MAC靜態的綁定在一起,首先建立/etc/ethers文件,輸入以下內容:
192.168.0.1 00:12:34:56:78:9A

保存退出,之後便是應 用這個靜態綁定:
localhost~$ arp -f

再運行arp查看:
localhost~$ arp
Address HWtype HWaddress Flags Mask Interface
192.168.0.1 ether 00:12:34:56:78:9A CM eth0
多了個M,表示靜態網關 ~
另外,如果你不會和區域網內的用戶通訊的話,那麼可以乾脆 把arp解析關掉,假定你的網卡是eth0,那麼可以運行:
localhost~$ ifconfig eth0 -arp

這樣對付那些終結者軟體就可以了,但是真的有人 向攻擊的話,這樣還是不夠的,因為攻擊者還可以欺騙網關,解決的辦法就是在網關和 區域網內機器上做雙向綁定,原理方法同上,一般網吧裡面也是這樣做的。

⑷ 如何在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系統的arp緩存,不是用arp -a命令,是用C程序

加我知道啊!1292229769

⑹ linux下防arp

方法一:
首先安裝arptables:
sudo apt-get install arptables
然後定義規則:
sudo arptables -A INPUT --src-mac ! 網關物理地址 -j DROP
sudo arptables -A INPUT -s ! 網關IP -j DROP
sudo arptables -A OUTPUT --destination-mac ff:ff:ff:ff:ff:ff -j ACCEPT
不過這樣就有一點不好,區域網內的資源不能用!
sudo arptables -F
當然我們可以做個腳本,每次開機的時候自動運行!~sudo gedit /etc/init.d/arptables,內容如下:
#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
arptables -A INPUT --src-mac ! 網關物理地址 -j DROP
arptables -A INPUT -s ! 網關IP -j DROP
arptables -A OUTPUT --destination-mac ff:ff:ff:ff:ff:ff -j ACCEPT
然後給arptables加個execution的屬性,
sudo chmod 755 /etc/init.d/arptables
再把arptables設置自動運行,
sudo update-rc.d arptables start 99 S .
用sysv-rc-conf直接設置

方法二:
1、先使用arp和 arp -a查看一下當前ARP緩存列表
[root@ftpsvr ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.234 ether 00:04:61:AE:11:2B C eth0
192.168.1.145 ether 00:13:20:E9:11:04 C eth0
192.168.1.1 ether 00:02:B3:38:08:62 C eth0
說明:
Address:主機的IP地址
Hwtype:主機的硬體類型
Hwaddress:主機的硬體地址
Flags Mask:記錄標志,」C」表示arp高速緩存中的條目,」M」表示靜態的arp條目。
[root@ftpsvr ~]# arp -a
? (192.168.1.234) at 00:04:61:AE:11:2B [ether] on eth0
? (192.168.1.1) at 00:16:76:22:23:86 [ether] on eth0
2、新建一個靜態的mac–>ip對應表文件:ip-mac,將要綁定的IP和MAC 地下寫入此文件,格式為 ip mac。
[root@ftpsvr ~]# echo 『192.168.1.1 00:02:B3:38:08:62 『 > /etc/ip-mac
[root@ftpsvr ~]# more /etc/ip-mac
192.168.1.1 00:02:B3:38:08:62
3、設置開機自動綁定
[root@ftpsvr ~]# echo 『arp -f /etc/ip-mac 『 >> /etc/rc.d/rc.local
4、手動執行一下綁定
[root@ftpsvr ~]# arp -f /etc/ip-mac
5、確認綁定是否成功
[root@ftpsvr ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.0.205 ether 00:02:B3:A7:85:48 C eth0
192.168.1.234 ether 00:04:61:AE:11:2B C eth0
192.168.1.1 ether 00:02:B3:38:08:62 CM eth0
[root@ftpsvr ~]# arp -a
? (192.168.0.205) at 00:02:B3:A7:85:48 [ether] on eth0
? (192.168.1.234) at 00:04:61:AE:11:2B [ether] on eth0
? (192.168.1.1) at 00:02:B3:38:08:62 [ether] PERM on eth0
從綁定前後的ARP緩存列表中,可以看到網關(192.168.1.1)的記錄標志已經改變,說明綁定成功。

⑺ 關於Linux下必須知道的11個網路命令有哪些

以下羅列一些非常有用的網路命令(不止11個)
連通性

• ping <host>:發送 ICMP echo 消息(一個包)到主機。這可能會不停地發送直到你按下 Control-C,Ping 的通意味著一個包從你的機器通過 ICMP 發送出去,並在 IP 層回顯。Ping 告訴你另一個主機是否在運行。
• telnet <host> [port]:與主機在指定的埠通信。默認的 telnet 埠是 23。按 Control-] 以退出 telnet。其它一些常用的埠是:
7 —— echo 埠
25 —— SMTP,用於發送郵件
79 —— Finger (LCTT 譯註:維基網路 - Finger protocal,不過舉例 Finger 恐怕不合時宜,倒不如試試 80?),提供該網路下其它用戶的信息。

ARP

ARP 用於將 IP 地址轉換為乙太網地址。root 用戶可以添加和刪除 ARP 記錄。當 ARP
記錄被污染或者錯誤時,刪除它們會有用。root 顯式添加的 ARP 記錄是永久的 —— 代理設置的也是。ARP
表保存在內核中,動態地被操作。ARP 記錄會被緩存,通常在 20 分鍾後失效並被刪除。

• arp -a:列印 ARP 表。
• arp -s <ip_address> <mac_address> [pub]:添加一條記錄到表中。
• arp -a -d:刪除 ARP 表中的所有記錄。

路由

• netstat -r:列印路由表。路由表保存在內核中,用於 IP 層把包路由到非本地網路。
• route add:route: 用於向路由表添加靜態(手動指定而非動態)路由路徑。所有從該 PC 到那個 IP/子網的流量都會經由指定的網關 IP。它也可以用來設置一個默認路由。
例如,在 IP/子網處使用 0.0.0.0,就可以發送所有包到特定的網關。
• routed:控制動態路由的 BSD 守護程序。開機時啟動。它運行 RIP 路由協議。只有 root 用戶可用。沒有 root 許可權你不能運行它。
• gated:gated 是另一個使用 RIP 協議的路由守護進程。它同時支持 OSPF、EGP 和 RIP 協議。只有 root 用戶可用。
• traceroute:用於跟蹤 IP 包的路由。它每次發送包時都把跳數加 1,從而使得從源地址到目的地之間的所有網關都會返回消息。
• netstat -rnf inet:顯示 IPv4 的路由表。
• sysctl net.inet.ip.forwarding=1:啟用包轉發(把主機變為路由器)。
• route add|delete [-net|-host] <destination> <gateway>:(如 route add 192.168.20.0/24 192.168.30.4)添加一條路由。
• route flush:刪除所有路由。
• route add -net 0.0.0.0 192.168.10.2:添加一條默認路由。
• routed -Pripv2 -Pno_rdisc -d [-s|-q]:運行 routed 守護進程,使用 RIPv2 協議,不啟用 ICMP 自動發現,在前台運行,供給模式或安靜模式。
• route add 224.0.0.0/4 127.0.0.1:為本地地址定義多播路由。(LCTT 譯註:原文存疑)
• rtquery -n <host>(LCTT 譯註:增加了 host 參數):查詢指定主機上的 RIP 守護進程(手動更新路由表)。

其它

• nslookup:向 DNS 伺服器查詢,將 IP 轉為名稱,或反之。例如,nslookup facebook.com 會給出 facebook.com 的 IP。
• ftp <host> [port](LCTT 譯註:原文中 water 應是筆誤):傳輸文件到指定主機。通常可以使用 登錄名 "anonymous" , 密碼 "guest" 來登錄。
• rlogin -l <host>(LCTT 譯註:添加了 host 參數):使用類似 telnet 的虛擬終端登錄到主機。

重要文件

• /etc/hosts:域名到 IP 地址的映射。
• /etc/networks:網路名稱到 IP 地址的映射。
• /etc/protocols:協議名稱到協議編號的映射。
• /etc/services:TCP/UDP 服務名稱到埠號的映射。

工具和網路性能分析

• ifconfig <interface> <address> [up]:啟動介面。
• ifconfig <interface> [down|delete]:停止介面。
• ethereal & ;:在後台打開 ethereal 而非前台。
• tcpmp -i -vvv :抓取和分析包的工具。
• netstat -w [seconds] -I [interface]:顯示網路設置和統計信息。
• udpmt -p [port] -s [bytes] target_host :發送 UDP 流量。
• udptarget -p [port]:接收 UDP 流量。
• tcpmt -p [port] -s [bytes] target_host :發送 TCP 流量。
• tcptarget -p [port]:接收 TCP 流量。

交換機

• ifconfig sl0 srcIP dstIP ifconfig sl0 srcIP dstIP:配置一個串列介面(在此前先執行 slattach -l /dev/ttyd0,此後執行 sysctl net.inet.ip.forwarding=1)
• telnet 192.168.0.254:從子網中的一台主機訪問交換機。
• sh ru 或 show running-configuration :查看當前配置。
• configure terminal :進入配置模式。
• exit :退出當前模式。(LCTT 譯註:原文存疑)

VLAN

• vlan n :創建一個 ID 為 n 的 VLAN。
• no vlan N :刪除 ID 為 n 的 VLAN。
• untagged Y :添加埠 Y 到 VLAN n。
• ifconfig vlan0 create :創建 vlan0 介面。
• ifconfig vlan0 vlan_ID vlandev em0:把 em0 加入到 vlan0 介面(LCTT 譯註:原文存疑),並設置標記為 ID。
• ifconfig vlan0 [up]:啟用虛擬介面。
• tagged Y :為當前 VLAN 的埠 Y 添加標記幀支持。

UDP/TCP

• A socklab udp :使用 UDP 協議運行 socklab。
• sock :創建一個 UDP 套接字,等效於輸入 sock udp 和 bind 。
• sendto <Socket ID> <hostname> <port #>:發送數據包。
• recvfrom <Socket ID> <byte #>:從套接字接收數據。
• socklab tcp :使用 TCP 協議運行 socklab。
• passive passive:創建一個被動模式的套接字,等效於 socklab ,sock tcp ,bind ,listen 。
• accept :接受進來的連接(可以在發起進來的連接之前或之後執行)。
• connect <hostname> <port #>:等效於 socklab ,sock tcp ,bind ,connect 。
• close :關閉連接。
• read <byte #>:從套接字中讀取 n 位元組。
• write :(例如write ciao、write #10)向套接字寫入 "ciao" 或 10 個位元組。

NAT/防火牆

• rm /etc/resolv.conf :禁止地址解析,保證你的過濾和防火牆規則正確工作。
• ipnat -f file_name :將過濾規則寫入文件。
• ipnat -l :顯示活動的規則列表。
• ipnat -C -F :重新初始化規則表。
• map em0 192.168.1.0/24 -> 195.221.227.57/32 em0:將 IP 地址映射到介面。
• map em0 192.168.1.0/24 -> 195.221.227.57/32 portmap tcp/udp 20000:50000:帶埠號的映射。
• ipf -f file_name :將過濾規則寫入文件。
• ipf -F -a :重置規則表。
• ipfstat -I :當與 -s 選項合用時列出活動的狀態條目
內容來源:http;//www.linuxprobe.com/linux-network-command.html

⑻ 請教Linux SHELL 問題,我想自動綁定arp 緩存列表中MAC 地址。

失敗的原因在 /sbin/arp -s $i
arp進行綁定時需要兩個參數, 如arp -s IP MACADDR
你把兩個參數放入一個變數$i中, SHELL只會把它解釋為一個參數,
要達到你的目的
將 /sbin/arp -s $i
更改為 eval /sbin/arp -s $i

這樣作的原理: 首先將$i 替換為IP MACADDR, eval的作用就是在SHELL環境中執行後面的命令行。這樣就可以了。 這個樣子你理解了吧

⑼ 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

閱讀全文

與linuxarp緩存命令相關的資料

熱點內容
python評論樹講解 瀏覽:678
juniper防火牆常用命令 瀏覽:426
vapp怎麼下載地址 瀏覽:11
pdf裡面內容怎麼修改 瀏覽:807
收藏網址加密的瀏覽器 瀏覽:1000
phpurl問號 瀏覽:898
什麼筆記本電腦可以用python 瀏覽:135
加密相冊如何翻找 瀏覽:992
泰州地區DNS伺服器地址 瀏覽:849
一種app可以買菜用英語怎麼說 瀏覽:196
中國聯通app裡面通話詳單怎麼刪除 瀏覽:505
計算機網路編譯軟體 瀏覽:100
程序員說不能說的秘密 瀏覽:700
在線shell編譯器 瀏覽:103
為什麼王者榮耀安卓轉蘋果成功登不上去 瀏覽:710
文件加密演算法可行性報告 瀏覽:60
a3雙面列印pdf 瀏覽:270
被命令文言文 瀏覽:717
c語言編譯器在線菜鳥 瀏覽:215
安卓如何使用華為手機助手 瀏覽:701