linux查看arp
1. 如何在我的linux查看我的arp表格
在linux中查看arp地址解析協議需要使用終端命令。
以Deepin linux為例,使用終端命令查看arp步驟如下所示:
1、在程序列表中點擊打開終端命令程序。
2. 怎樣查看linux 靜態arp perm
Linux Arp命令顯示和修改地址解析協議(ARP)使用的「IP 到物理」地址轉換表。 ARP -s inet_addr eth_addr [if_addr] ARP -d inet_addr [if_addr] ARP -a [inet_addr] [-N if_addr] [-v] -a 通過詢問當前協議數據,顯示當前ARP項。如果指定inet_addr...
3. linux如何查找arp攻擊源
如果說防止arp攻擊的源頭就是找到arp的攻擊源。我想很多人都在查找arp的攻擊源。這個攻擊源非常的重要。至於Linux的查詢方法已經總結在了常見電腦黑客攻擊類型與預防
方法
中。 linux如何查找arp攻擊源呢您可以登錄裕祥安全網。
追蹤網路攻擊就是找到事件發生的源頭。它有兩個方面意義:
一是指發現IP地址、MAC地址或是認證的主機名;
二是指確定攻擊者的身份。網路攻擊者在實施攻擊之時或之後,必然會留下一些蛛絲馬跡,如登錄的紀錄,文件許可權的改變等虛擬證據,如何正確處理虛擬證據是追蹤網路攻擊的最大挑戰。
在追蹤網路攻擊中另一需要考慮的問題是:IP地址是一個虛擬地址而不是一個物理地址,IP地址很容易被偽造,大部分網路攻擊者採用IP地址欺騙技術。這樣追蹤到的攻擊源是不正確的。使得以IP地址為基礎去發現攻擊者變得更加困難。因此,必須採用一些方法,識破攻擊者的欺騙,找到攻擊源的真正IP地址。
使用netstat命令可以獲得所有聯接被測主機的網路用戶的IP地址。Windows系列、Unix系列、Linux等常用網路操作系統都可以使用「netstat」命令。 使用「netstat」命令的缺點是只能顯示當前的連接,如果使用「netstat」命令時攻擊者沒有聯接,則無法發現攻擊者的蹤跡。為此,可以使用Scheler建立一個日程安排,安排系統每隔一定的時間使用一次「netstat」命令,並使用netstattextfile格式把每次檢查時得到的數據寫入一個文本文件中,以便需要追蹤網路攻擊時使用。
Unix和Linux的日誌文件較詳細的記錄了用戶的各種活動,如登錄的ID的用戶名、用戶IP地址、埠號、登錄和退出時間、每個ID最近一次登錄時間、登錄的終端、執行的命令,用戶ID的賬號信息等。通過這些信息可以提供ttyname(終端號)和源地址,是追蹤網路攻擊的最重要的數據。
裕祥安全網的網路安全小知識
回答了linux如何查找arp攻擊源的問題。
4. linuxarp命令linuxarp
如何在我的linux查看我的arp表格?
LinuxArp命令顯示和修改地址解析協議(ARP)使用的「IP到物理」地址轉換表。
ARP-sinet_addreth_addrARP-dinet_addrARP-a-a通過詢問當前協議數據,顯示當前ARP項。
如果指定inet_addr,則只顯示指定計算機的IP地址和物理地址。
如果不止一個網路介面使用ARP,則顯示每個ARP表的項。-g與-a相同。
-v在詳細模式下顯示當前ARP項。所有無效項和環回介面上的項都將顯示。
inet_addr指定Internet地址(IP地址)。
-Nif_addr顯示if_addr指定的網路介面的ARP項。
-d刪除inet_addr指定的主機。
inet_addr可以是通配符*,以刪除所有主機。-s添加主機並且將Internet地址inet_addr與物理地址eth_addr相關聯。
物理地址是用連字元分隔的6個十六進制位元組。該項是永久的。
eth_addr指定物理地址。
if_addr如果存在,此項指定地址轉換表應修改的介面的Internet地址。如果不存在,則使用第一個適用的介面。
示例:添加靜態項。
這個很有用,特別是區域網中中了arp病毒以後#arp-s123.253.68.20900:19:56:6F:87:D2#arp-a....顯示ARP表。但是arp-s設置的靜態項在用戶登出之後或重起之後會失效,如果想要任何時候都不失效,可以將ip和mac的對應關系寫入arp命令默認的配置文件/etc/ethers中例如:引用root@ubuntu:/#vi/etc/ethers211.144.68.25400:12:D9:32:BF:44寫入之後執行下面的命令就好了引用arp-f/etc/ethers為保證重起之後綁定仍然有效,需要把上述命令寫入/etc/ethersARP(AddressResolutionProtocol),或稱地址解析協議。
本地機向某個IP地址--目標機IP地址發送數據時,先查找本地的ARP表,如果在ARP表中找到目標機IP地址的ARP表項,(網路協議)將把目標機IP地址對應的MAC地址放到MAC包的目的MAC地址欄位直接發送出去;如果在ARP表沒有找到目標機IP地址的ARP表項,則向區域網發送廣播ARP包(目的MAC地址欄位==FF:FF:FF:FF:FF:FF),目標機將向本地機回復ARP包(包含目標機的MAC地址)
linux防火牆發展史?
1.認識防火牆
從邏輯上講防火牆可以分為主機防火牆和網路防護牆。
主機防火牆:針對個別主機對出站入站的數據包進行過濾。(操作對象為個體)
網路防火牆:處於網路邊緣,針對網路入口進行防護。(操作對象為整體)
從物理上講防火牆可以分為硬體防火牆和軟體防火牆。
硬體防火牆:通過硬體層面實現防火牆的功能,性能高,成本高。
軟體防火牆:通過應用軟體實現防火牆的功能,性能低,成本低。
2.系統防火牆發展過程
防火牆的發展史就是從牆到鏈再到表,也是從簡單到復雜的過程。
防火牆工具變化如下:
ipfirewall--->ipchains--->iptables-->nftables(正在推廣)
Linux2.0版內核中:包過濾機制為ipfw,管理工具是ipfwadm。
Linux2.2版內核中:包過濾機制為ipchain,管理工具是ipchains。
Linux2.4,2.6,3.0+版內核中:包過濾機制為netfilter,管理工具是iptables。
Linux3.1(3.13+)版內核中:包過濾機制為netfilter,中間採取daemon動態管理防火牆,管理工具是firewalld。
#目前低版本的firewalld通過調用iptables(command),它可以支持老的iptables規則(在firewalld裡面叫做直接規則),
#同時firewalld兼顧了iptables,ebtables,ip6tables的功能。
3.iptables和nftables
nftables
nftables誕生於2008年,2013年底合並到Linux內核,從Linux3.13起開始作為iptables的替代品提供給用戶。
它是新的數據包分類框架,新的linux防火牆管理程序,旨在替代現存的{ip,ip6,arp,eb}_tables,它的用戶空間管理工具是nft。
由於iptables的一些缺陷,目前正在慢慢過渡用nftables替換iptables,同時由於這個新的框架的兼容性,
所以nftables也支持在這個框架上運行直接iptables這個用戶空間的管理工具。
nftables實現了一組被稱為表達式的指令,可通過在寄存器中儲存和載入來交換數據。
也就是說,nftables的核心可視為一個虛擬機,nftables的前端工具nft可以利用內核提供的表達式去模擬舊的iptables匹配,
維持兼容性的同時獲得更大的靈活性。
而未來最新的firewalld(0.8.0)默認使用將使用nftables。詳情可以看www.firewalld.org
iptables、nftables和firewalld之間的區別與聯系
firewalld同時支持iptables和nftables,未來最新版本(0.8.0)默認將使用nftables。
簡單的說firewalld是基於nftfilter防火牆的用戶界面工具。而iptables和nftables是命令行工具。
firewalld引入區域的概念,可以動態配置,讓防火牆配置及使用變得簡便。
准確的說:iptables(command)的最底層是netfilter,它的用戶空間管理工具是iptables
nftables(command)是iptables(command)的一個替代品並兼容iptables(command),最底層依然是netfilter,它的用戶空間管理工具是nft,
同時未來firewalld最新版(0.8.0)也將默認支持nftables(command)。https://firewalld.org/
iptables會把配置好的防火牆策略交給內核層的netfilter網路過濾器來處理
firewalld會把配置好的防火牆策略交給內核層的nftables包過濾框架來處理
下圖為iptables、firewalld、nftables之間的關系圖:
?
4.centos6.X到centos7.X
centos6.X:防火牆由netfilter和iptables構成。其中iptables用於制定規則,又被稱為防火牆的用戶態;
而netfilter實現防火牆的具體功能,又被稱為內核態。簡單地講,iptables制定規則,而netfilter執行規則。
centos7.X:防火牆在6.X防火牆的基礎之上提出了新的防火牆管理工具,提出了區域的概念,通過區域定義網路鏈接以及安全等級。
5.怎樣學好防火牆的配置?
1)OSI7層模型以及不同層對應哪些協議必須很熟悉#基礎必備
2)TCP/IP三次握手,四次斷開的過程,TCPHEADER,狀態轉換#基礎必備
3)常用的服務埠要非常清楚了解。#基礎必備
4)常用服務協議的原理,特別是http協議,icmp協議。#基礎必備
5)能夠熟練的利用tcpmp和wireshark進行抓包並分析,這樣會更好#拓展
6)對計算機網路有研究,至少基本路由交換要很熟悉#拓展
6、企業中安全配置原則
盡可能不給伺服器配置外網IP,可以通過代理轉發或者通過防火牆映射。
並發不是特別大情況有外網IP,可以開啟防火牆服務。
大並發的情況,不能開iptables,影響性能,利用硬體防火牆提升架構安全。
Linux的協議棧是什麼呢?
Linux網路協議棧基於分層的設計思想,總共分為四層,從下往上依次是:物理層,鏈路層,網路層,應用層。Linux網路協議棧其實是源於BSD的協議棧,它向上以及向下的介面以及協議棧本身的軟體分層組織的非常好。Linux的協議棧基於分層的設計思想,總共分為四層,從下往上依次是:物理層,鏈路層,網路層,應用層。物理層主要提供各種連接的物理設備,如各種網卡,串口卡等;鏈路層主要指的是提供對物理層進行訪問的各種介面卡的驅動程序,如網卡驅動等;網路層的作用是負責將網路數據包傳輸到正確的位置,最重要的網路層協議當然就是IP協議了,其實網路層還有其他的協議如ICMP,ARP,RARP等,只不過不像IP那樣被多數人所熟悉;傳輸層的作用主要是提供端到端,說白一點就是提供應用程序之間的通信,傳輸層最著名的協議非TCP與UDP協議末屬了;應用層,顧名思義,當然就是由應用程序提供的,用來對傳輸數據進行語義解釋的「人機界面」層了,比如HTTP,SMTP,FTP等等,其實應用層還不是人們最終所看到的那一層,最上面的一層應該是「解釋層」,負責將數據以各種不同的表項形式最終呈獻到人們眼前。Linux網路核心架構Linux的網路架構從上往下可以分為三層,分別是:用戶空間的應用層。內核空間的網路協議棧層。物理硬體層。其中最重要最核心的當然是內核空間的協議棧層了。Linux網路協議棧結構Linux的整個網路協議棧都構建與LinuxKernel中,整個棧也是嚴格按照分層的思想來設計的,整個棧共分為五層,分別是:
1,系統調用介面層,實質是一個面向用戶空間應用程序的介面調用庫,向用戶空間應用程序提供使用網路服務的介面。
2,協議無關的介面層,就是SOCKET層,這一層的目的是屏蔽底層的不同協議(更准確的來說主要是TCP與UDP,當然還包括RAWIP,SCTP等),以便與系統調用層之間的介面可以簡單,統一。簡單的說,不管我們應用層使用什麼協議,都要通過系統調用介面來建立一個SOCKET,這個SOCKET其實是一個巨大的sock結構,它和下面一層的網路協議層聯系起來,屏蔽了不同的網路協議的不同,只吧數據部分呈獻給應用層(通過系統調用介面來呈獻)。
3,網路協議實現層,毫無疑問,這是整個協議棧的核心。這一層主要實現各種網路協議,最主要的當然是IP,ICMP,ARP,RARP,TCP,UDP等。這一層包含了很多設計的技巧與演算法,相當的不錯。
4,與具體設備無關的驅動介面層,這一層的目的主要是為了統一不同的介面卡的驅動程序與網路協議層的介面,它將各種不同的驅動程序的功能統一抽象為幾個特殊的動作,如open,close,init等,這一層可以屏蔽底層不同的驅動程序。
5,驅動程序層,這一層的目的就很簡單了,就是建立與硬體的介面層。可以看到,Linux網路協議棧是一個嚴格分層的結構,其中的每一層都執行相對獨立的功能,結構非常清晰。其中的兩個「無關」層的設計非常棒,通過這兩個「無關」層,其協議棧可以非常輕松的進行擴展。在我們自己的軟體設計中,可以吸收這種設計方法。