導航:首頁 > 編程系統 > linux內網嗅探

linux內網嗅探

發布時間:2023-08-23 12:03:03

linux如何檢查遠程伺服器中埠是否打開

這個非常簡單,telnet、nc和nmap這3個命令就可以輕松實現,下面我簡單介紹一下實現過程,感興趣的朋友可以自己嘗試一下:
telnet
這是基於telnet協議實現的一個遠程登錄命令,可以直接用於測試遠程Linux伺服器是否開啟指定埠,安裝的話,輸入命令「yum install -y telnet」(或者「apt install -y telnet」)就行,使用方式「telnet 伺服器IP地址 埠號」,如下,這里以埠22為例,如果返回結果為Connected,則說明埠開啟,如果為refused,則說明埠關閉:

nc
也即netcat,一個簡單實用的Unix(Linux)工具,主要用來讀寫網路間連接的數據,可以很方便的查看遠程Linux伺服器是否開啟指定埠,如下,這里以3306埠為例,如果返回結果為Connected,則說明埠開啟,如果為timed out,則說明埠關閉:

更多參數和說明的話,可以使用命令「nc -h」進行查看,官方文檔解釋的非常清楚詳細,如下:

nmap
這是一個專門用於網路嗅探的工具,在滲透測試中經常會用到,也可以很方便的查看遠程Linux伺服器是否開啟指定埠,安裝的話,輸入命令「yum install -y nmap」(或者「apt install -y nmap」)就行,如下,這里以80,21,3306這3個埠為例,如果返回結果為open,則說明埠開啟,如果為filtered,則說明埠關閉:

更多參數和功能的話,可以使用幫助命令「nmap -h」進行查看,官方文檔解釋的非常詳細清楚,一目瞭然,如下:

至此,我們就介紹完了使用telnet、nc和nmap這3個命令來查看遠程Linux伺服器是否開啟指定埠。總的來說,這3種方式都非常簡單,只要你有一定的Linux基礎,熟悉一下相關參數和說明,很快就能掌握的,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。

方法一,telnet host port

方法二,nc -t host port 其中-t代表tcp,-u是udp

方法三,任意語言,優先python,寫一段 socket程序,調用connect函數看看是否成功

ping一下ip地址加上你想要的埠,就知道埠打開沒有

❷ kali linux怎麼嗅探路由器下所有設備的流量

必須要在
路由器
上配置「
埠鏡像
」或者「埠監控」才可以。linux下只能用tcpmp
抓包
,還是要拷貝到windows下來用
wireshark
查看。
我建議你不如直接在windows下安裝「WFilter
上網行為管理軟體
」,可以監控所有設備的流量,還可以配置封堵策略。

❸ 如何在Linux系統上安裝花生殼內網穿透客戶端

花生殼內網穿透步驟。
1、下載花生殼客戶端,安裝登陸;
2、做映射,點擊默認域名,進入花生殼管理;
3、添加映射,點擊當前主機,獲取外網隨機埠,並進行確認;
4、映射成功,無需任何設置,直接通過映射後的外網網址進行訪問即可。
輕松簡單的內網穿透就這么容易的實現了。
內網穿透技術應用很多領域,尤其是在企業中應用更為廣泛。企業員工常常會出差辦公,而要想訪問公司內網,往往受限制,導致工作無法完成。為了避免這樣的情況,內網穿透是最佳解決方案。
市場上內網穿透軟體數不勝數,用戶在選擇軟體的時候需慎重,以免選擇的軟體含有病毒,泄露信息。這里提醒各位,選擇內網穿透軟體需注重以下幾點:
1、功能操作:軟體是否有內網穿透功能,很多軟體都打著多功能的旗號,實際上並沒有。因此,用戶在選擇軟體應詳細了解軟體的功能。
2、映射效果:映射效果是關鍵,軟體映射之後,卻沒有實現內網穿透的功能,外網依然不能訪問內網。所以,用戶在選擇軟體應用之前,可咨詢使用過軟體的用戶。
3、安全性:軟體應用一定要注重其安全性,只有確保其安全,才能保證外網訪問內網的安全,避免數據丟失和泄露。
綜上所述,內網穿透簡單,但選擇穿透軟體是關鍵。

❹ linux 用SSH怎麼查看哪些IP正在訪問伺服器

1、首先連接到Linux主機並進入命令行狀態。

❺ 如何防禦針對Linux伺服器的攻擊

引:隨著Linux企業應用的擴展,有大量的網路伺服器使用Linux操作系統。Linux伺服器的安全性能受到越來越多的關注,這里根據Linux伺服器受到攻擊的深度以級別形式列出,並提出不同的解決方案。

隨著Linux企業應用的擴展,有大量的網路伺服器使用Linux操作系統。Linux伺服器的安全性能受到越來越多的關注,這里根據Linux伺服器受到攻擊的深度以級別形式列出,並提出不同的解決方案。

對Linux伺服器攻擊的定義是:攻擊是一種旨在妨礙、損害、削弱、破壞Linux伺服器安全的未授權行為。攻擊的范圍可以從服務拒絕直至完全危害和破壞Linux伺服器。對Linux伺服器攻擊有許多種類,本文從攻擊深度的角度說明,我們把攻擊分為四級。

攻擊級別一:服務拒絕攻擊(DoS)

由於DoS攻擊工具的泛濫,及所針對的協議層的缺陷短時無法改變的事實,DoS也就成為了流傳最廣、最難防範的攻擊方式。

服務拒絕攻擊包括分布式拒絕服務攻擊、反射式分布拒絕服務攻擊、DNS分布拒絕服務攻擊、FTP攻擊等。大多數服務拒絕攻擊導致相對低級的危險,即便是那些可能導致系統重啟的攻擊也僅僅是暫時性的問題。這類攻擊在很大程度上不同於那些想獲取網路控制的攻擊,一般不會對數據安全有影響,但是服務拒絕攻擊會持續很長一段時間,非常難纏。

到目前為止,沒有一個絕對的方法可以制止這類攻擊。但這並不表明我們就應束手就擒,除了強調個人主機加強保護不被利用的重要性外,加強對伺服器的管理是非常重要的一環。一定要安裝驗證軟體和過濾功能,檢驗該報文的源地址的真實地址。另外對於幾種服務拒絕可以採用以下措施:關閉不必要的服務、限制同時打開的Syn半連接數目、縮短Syn半連接的time out 時間、及時更新系統補丁。

攻擊級別二:本地用戶獲取了他們非授權的文件的讀寫許可權

本地用戶是指在本地網路的任一台機器上有口令、因而在某一驅動器上有一個目錄的用戶。本地用戶獲取到了他們非授權的文件的讀寫許可權的問題是否構成危險很大程度上要看被訪問文件的關鍵性。任何本地用戶隨意訪問臨時文件目錄(/tmp)都具有危險性,它能夠潛在地鋪設一條通向下一級別攻擊的路徑。

級別二的主要攻擊方法是:黑客誘騙合法用戶告知其機密信息或執行任務,有時黑客會假裝網路管理人員向用戶發送郵件,要求用戶給他系統升級密碼

由本地用戶啟動的攻擊幾乎都是從遠程登錄開始。對於Linux伺服器,最好的辦法是將所有shell賬號放置於一個單獨的機器上,也就是說,只在一台或多台分配有shell訪問的伺服器上接受注冊。這可以使日誌管理、訪問控制管理、釋放協議和其他潛在的安全問題管理更容易些。還應該將存放用戶cgI的系統區分出來。這些機器應該隔離在特定的網路區段,也就是說,根據網路的配置情況,它們應該被路由器或網路交換機包圍。其拓撲結構應該確保硬體地址欺騙也不能超出這個區段。

攻擊級別三:遠程用戶獲得特權文件的讀寫許可權

第三級別的攻擊能做到的不只是核實特定文件是否存在,而且還能讀寫這些文件。造成這種情況的原因是:Linux伺服器配置中出現這樣一些弱點:即遠程用戶無需有效賬號就可以在伺服器上執行有限數量的命令。

密碼攻擊法是第三級別中的主要攻擊法,損壞密碼是最常見的攻擊方法。密碼破解是用以描述在使用或不使用工具的情況下滲透網路、系統或資源以解鎖用密碼保護的資源的一個術語。用戶常常忽略他們的密碼,密碼政策很難得到實施。黑客有多種工具可以擊敗技術和社會所保護的密碼。主要包括:字典攻擊(Dictionary attack)、混合攻擊(Hybrid attack)、蠻力攻擊(Brute force attack)。一旦黑客擁有了用戶的密碼,他就有很多用戶的特權。密碼猜想是指手工進入普通密碼或通過編好程序的正本取得密碼。一些用戶選擇簡單的密碼—如生日、紀念日和配偶名字,卻並不遵循應使用字母、數字混合使用的規則。對黑客來說要猜出一串8個字生日數據不用花多長時間。

防範第三級別的攻擊的最好的防衛方法便是嚴格控制進入特權,即使用有效的密碼。

◆ 主要包括密碼應當遵循字母、數字、大小寫(因為Linux對大小寫是有區分)混合使用的規則。

◆ 使用象「#」或「%」或「"countbak"一詞,它後面添加「##」

攻擊級別四:遠程用戶獲得根許可權

第四攻擊級別是指那些決不應該發生的事發生了,這是致命的攻擊。表示攻擊者擁有Linux伺服器的根、超級用戶或管理員許可權,可以讀、寫並執行所有文件。換句話說,攻擊者具有對Linux伺服器的全部控制權,可以在任何時刻都能夠完全關閉甚至毀滅此網路。

攻擊級別四主要攻擊形式是TCP/IP連續偷竊,被動通道聽取和信息包攔截。TCP/IP連續偷竊,被動通道聽取和信息包攔截,是為進入網路收集重要信息的方法,不像拒絕服務攻擊,這些方法有更多類似偷竊的性質,比較隱蔽不易被發現。一次成功的TCP/IP攻擊能讓黑客阻攔兩個團體之間的交易,提供中間人襲擊的良好機會,然後黑客會在不被受害者注意的情況下控制一方或雙方的交易。通過被動竊聽,黑客會操縱和登記信息,把文件送達,也會從目標系統上所有可通過的通道找到可通過的致命要害。黑客會尋找聯機和密碼的結合點,認出申請合法的通道。信息包攔截是指在目標系統約束一個活躍的聽者程序以攔截和更改所有的或特別的信息的地址。信息可被改送到非法系統閱讀,然後不加改變地送回給黑客。

TCP/IP連續偷竊實際就是網路嗅探,注意如果您確信有人接了嗅探器到自己的網路上,可以去找一些進行驗證的工具。這種工具稱為時域反射計量器(Time Domain Reflectometer,TDR)。TDR對電磁波的傳播和變化進行測量。將一個TDR連接到網路上,能夠檢測到未授權的獲取網路數據的設備。不過很多中小公司沒有這種價格昂貴的工具。

對於防範嗅探器的攻擊最好的方法是:

1、安全的拓撲結構。嗅探器只能在當前網路段上進行數據捕獲。這就意味著,將網路分段工作進行得越細,嗅探器能夠收集的信息就越少。

2、會話加密。不用特別地擔心數據被嗅探,而是要想辦法使得嗅探器不認識嗅探到的數據。這種方法的優點是明顯的:即使攻擊者嗅探到了數據,這些數據對他也是沒有用的。

特別提示:應對攻擊的反擊措施

對於超過第二級別的攻擊您就要特別注意了。因為它們可以不斷的提升攻擊級別,以滲透Linux伺服器。此時,我們可以採取的反擊措施有:

◆ 首先備份重要的企業關鍵數據。

◆ 改變系統中所有口令,通知用戶找系統管理員得到新口令。

◆ 隔離該網路網段使攻擊行為僅出現在一個小范圍內。

◆ 允許行為繼續進行。如有可能,不要急於把攻擊者趕出系統,為下一步作準備。

◆ 記錄所有行為,收集證據。這些證據包括:系統登錄文件、應用登錄文件、AAA(Authentication、Authorization、 Accounting,認證、授權、計費)登錄文件,RADIUS(Remote Authentication Dial-In User Service) 登錄,網路單元登錄(Network Element Logs)、防火牆登錄、HIDS(Host-base IDS,基於主機的入侵檢測系統) 事件、NIDS(網路入侵檢測系統)事件、磁碟驅動器、隱含文件等。收集證據時要注意:在移動或拆卸任何設備之前都要拍照;在調查中要遵循兩人法則,在信息收集中要至少有兩個人,以防止篡改信息;應記錄所採取的所有步驟以及對配置設置的任何改變,要把這些記錄保存在安全的地方。檢查系統所有目錄的存取許可,檢測Permslist是否被修改過。

◆ 進行各種嘗試(使用網路的不同部分)以識別出攻擊源。

◆ 為了使用法律武器打擊犯罪行為,必須保留證據,而形成證據需要時間。為了做到這一點,必須忍受攻擊的沖擊(雖然可以制定一些安全措施來確保攻擊不損害網路)。對此情形,我們不但要採取一些法律手段,而且還要至少請一家有權威的安全公司協助阻止這種犯罪。這類操作的最重要特點就是取得犯罪的證據、並查找犯罪者的地址,提供所擁有的日誌。對於所搜集到的證據,應進行有效地保存。在開始時製作兩份,一個用於評估證據,另一個用於法律驗證。

◆ 找到系統漏洞後設法堵住漏洞,並進行自我攻擊測試。

網路安全已經不僅僅是技術問題,而是一個社會問題。企業應當提高對網路安全重視,如果一味地只依靠技術工具,那就會越來越被動;只有發揮社會和法律方面打擊網路犯罪,才能更加有效。我國對於打擊網路犯罪已經有了明確的司法解釋,遺憾的是大多數企業只重視技術環節的作用而忽略法律、社會因素,這也是本文的寫作目的。

❻ Kali Linux 網路掃描秘籍 第三章 埠掃描(二)

執行 TCP 埠掃描的一種方式就是執行一部分。目標埠上的 TCP 三次握手用於識別埠是否接受連接。這一類型的掃描指代隱秘掃描, SYN 掃描,或者半開放掃描。這個秘籍演示了如何使用 Scapy 執行 TCP 隱秘掃描。

為了使用 Scapy 執行 TCP 隱秘 掃描,你需要一個運行 TCP 網路服務的遠程伺服器。這個例子中我們使用 Metasploitable2 實例來執行任務。配置 Metasploitable2 的更多信息請參考第一章中的「安裝 Metasploitable2」秘籍。

此外,這一節也需要編寫腳本的更多信息,請參考第一章中的「使用文本編輯器*VIM 和 Nano)。

為了展示如何執行 SYN 掃描,我們需要使用 Scapy 構造 TCP SYN 請求,並識別和開放埠、關閉埠以及無響應系統有關的響應。為了向給定埠發送 TCP SYN 請求,我們首先需要構建請求的各個層面。我們需要構建的第一層就是 IP 層:

為了構建請求的 IP 層,我們需要將 IP 對象賦給變數 i 。通過調用 display 函數,我們可以確定對象的屬性配置。通常,發送和接受地址都設為回送地址, 127.0.0.1 。這些值可以通過修改目標地址來修改,也就是設置 i.dst 為想要掃描的地址的字元串值。通過再次調用 dislay 函數,我們看到不僅僅更新的目標地址,也自動更新了和默認介面相關的源 IP 地址。現在我們構建了請求的 IP 層,我們可以構建 TCP 層了。

為了構建請求的 TCP 層,我們使用和 IP 層相同的技巧。在這個立即中, TCP 對象賦給了 t 變數。像之前提到的那樣,默認的配置可以通過調用 display 函數來確定。這里我們可以看到目標埠的默認值為 HTTP 埠 80。對於我們的首次掃描,我們將 TCP 設置保留默認。現在我們創建了 TCP 和 IP 層,我們需要將它們疊放來構造請求。

我們可以通過以斜杠分離變數來疊放 IP 和 TCP 層。這些層面之後賦給了新的變數,它代表整個請求。我們之後可以調用 dispaly 函數來查看請求的配置。一旦構建了請求,可以將其傳遞給 sr1 函數來分析響應:

相同的請求可以不通過構建和堆疊每一層來執行。反之,我們使用單獨的一條命令,通過直接調用函數並傳遞合適的參數:

要注意當 SYN 封包發往目標 Web 伺服器的 TCP 埠 80,並且該埠上運行了 HTTP 服務時,響應中會帶有 TCP 標識 SA 的值,這表明 SYN 和 ACK 標識都被激活。這個響應表明特定的目標埠是開放的,並接受連接。如果相同類型的封包發往不接受連接的埠,會收到不同的請求。

當 SYN 請求發送給關閉的埠時,返回的響應中帶有 TCP 標識 RA,這表明 RST 和 ACK 標識為都被激活。ACK 為僅僅用於承認請求被接受,RST 為用於斷開連接,因為埠不接受連接。作為替代,如果 SYN 封包發往崩潰的系統,或者防火牆過濾了這個請求,就可能接受不到任何信息。由於這個原因,在 sr1 函數在腳本中使用時,應該始終使用 timeout 選項,來確保腳本不會在無響應的主機上掛起。

如果函數對無響應的主機使用時, timeout 值沒有指定,函數會無限繼續下去。這個演示中, timout 值為 1秒,用於使這個函數更加完備,響應的值可以用於判斷是否收到了響應:

Python 的使用使其更易於測試變數來識別 sr1 函數是否對其復制。這可以用作初步檢驗,來判斷是否接收到了任何響應。對於接收到的響應,可以執行一系列後續檢查來判斷響應表明埠開放還是關閉。這些東西可以輕易使用 Python 腳本來完成,像這樣:

在這個 Python 腳本中,用於被提示來輸入 IP 地址,腳本之後會對定義好的埠序列執行 SYN 掃描。腳本之後會得到每個連接的響應,並嘗試判斷響應的 SYN 和 ACK 標識是否激活。如果響應中出現並僅僅出現了這些標識,那麼會輸出相應的埠號碼。

運行這個腳本之後,輸出會顯示所提供的 IP 地址的系統上,前 100 個埠中的開放埠。

這一類型的掃描由發送初始 SYN 封包給遠程系統的目標 TCP 埠,並且通過返回的響應類型來判斷埠狀態來完成。如果遠程系統返回了 SYN+ACK 響應,那麼它正在准備建立連接,我們可以假設這個埠開放。如果服務返回了 RST 封包,這就表明埠關閉並且不接收連接。此外,如果沒有返回響應,掃描系統和遠程系統之間可能存在防火牆,它丟棄了請求。這也可能表明主機崩潰或者目標 IP 上沒有關聯任何系統。

Nmap 擁有可以執行遠程系統 SYN 掃描的掃描模式。這個秘籍展示了如何使用 Namp 執行 TCP 隱秘掃描。

為了使用 Nmap 執行 TCP 隱秘掃描,你需要一個運行 TCP 網路服務的遠程伺服器。這個例子中我們使用 Metasploitable2 實例來執行任務。配置 Metasploitable2 的更多信息請參考第一章中的「安裝 Metasploitable2」秘籍。

就像多數掃描需求那樣,Nmap 擁有簡化 TCP 隱秘掃描執行過程的選項。為了使用 Nmap 執行 TCP 隱秘掃描,應使用 -sS 選項,並附帶被掃描主機的 IP 地址。

在提供的例子中,特定的 IP 地址的 TCP 80 埠上執行了 TCP 隱秘掃描。和 Scapy 中的技巧相似,Nmap 監聽響應並通過分析響應中所激活的 TCP 標識來識別開放埠。我們也可以使用 Namp 執行多個特定埠的掃描,通過傳遞逗號分隔的埠號列表。

在這個例子中,目標 IP 地址的埠 21、80 和 443 上執行了 SYN 掃描。我們也可以使用 Namp 來掃描主機序列,通過標明要掃描的第一個和最後一個埠號,以破折號分隔:

在所提供的例子中,SYN 掃描在 TCP 20 到 25 埠上執行。除了擁有指定被掃描埠的能力之外。Nmap 同時擁有配置好的 1000 和常用埠的列表。我們可以執行這些埠上的掃描,通過不帶任何埠指定信息來運行 Nmap:

在上面的例子中,掃描了 Nmap 定義的 1000 個常用埠,用於識別 Metasploitable2 系統上的大量開放埠。雖然這個技巧在是被多數設備上很高效,但是也可能無法識別模糊的服務或者不常見的埠組合。如果掃描在所有可能的 TCP 埠上執行,所有可能的埠地址值都需要被掃描。定義了源埠和目標埠地址的 TCP 頭部部分是 16 位長。並且,每一位可以為 1 或者 0。因此,共有 2 ** 16 或者 65536 個可能的 TCP 埠地址。對於要掃描的全部可能的地址空間,需要提供 0 到 65535 的埠范圍,像這樣:

這個例子中,Metasploitable2 系統上所有可能的 65536 和 TCP 地址都掃描了一遍。要注意該掃描中識別的多數服務都在標準的 Nmap 1000 掃描中識別過了。這就表明在嘗試識別目標的所有可能的攻擊面的時候,完整掃描是個最佳實踐。Nmap 可以使用破折號記法,掃描主機列表上的 TCP 埠:

這個例子中,TCP 80 埠的 SYN 掃描在指定地址范圍內的所有主機上執行。雖然這個特定的掃描僅僅執行在單個埠上,Nmap 也能夠同時掃描多個系統上的多個埠和埠范圍。此外,Nmap 也能夠進行配置,基於 IP 地址的輸入列表來掃描主機。這可以通過 -iL 選項並指定文件名,如果文件存放於執行目錄中,或者文件路徑來完成。Nmap 之後會遍歷輸入列表中的每個地址,並對地址執行特定的掃描。

Nmap SYN 掃描背後的底層機制已經討論過了。但是,Nmap 擁有多線程功能,是用於執行這類掃描的快速高效的方式。

除了其它已經討論過的工具之外,Metasploit 擁有用於 SYN 掃描的輔助模塊。這個秘籍展示了如何使用 Metasploit 來執行 TCP 隱秘掃描。

為了使用 Metasploit 執行 TCP 隱秘掃描,你需要一個運行 TCP 網路服務的遠程伺服器。這個例子中我們使用 Metasploitable2 實例來執行任務。配置 Metasploitable2 的更多信息請參考第一章中的「安裝 Metasploitable2」秘籍。

Metasploit 擁有可以對特定 TCP 埠執行 SYN 掃描的輔助模塊。為了在 Kali 中啟動 Metasploit,我們在終端中執行 msfconsole 命令。

為了在 Metasploit 中執行 SYN 掃描,以輔助模塊的相對路徑調用 use 命令。一旦模塊被選中,可以執行 show options 命令來確認或修改掃描配置。這個命令會展示四列的表格,包括 name 、 current settings 、 required 和 description 。 name 列標出了每個可配置變數的名稱。 current settings 列列出了任何給定變數的現有配置。 required 列標出對於任何給定變數,值是否是必須的。 description 列描述了每個變數的功能。任何給定變數的值可以使用 set 命令,並且將新的值作為參數來修改。

在上面的例子中, RHOSTS 值修改為我們打算掃描的遠程系統的 IP 地址。地外,線程數量修改為 20。 THREADS 的值定義了在後台執行的當前任務數量。確定線程數量涉及到尋找一個平衡,既能提升任務速度,又不會過度消耗系統資源。對於多數系統,20 個線程可以足夠快,並且相當合理。 PORTS 值設為 TCP 埠 80(HTTP)。修改了必要的變數之後,可以再次使用 show options 命令來驗證。一旦所需配置驗證完畢,就可以執行掃描了。

上面的例子中,所指定的遠程主機的錢 100 個 TCP 埠上執行了 TCP SYN 掃描。雖然這個掃描識別了目標系統的多個設備,我們不能確認所有設備都識別出來,除非所有可能的埠地址都掃描到。定義來源和目標埠地址的TCP 頭部部分是 16 位長。並且,每一位可以為 1 或者 0。因此,共有 2 ** 16 或 65536 個可能的 TCP 埠地址。對於要掃描的整個地址空間,需要提供 0 到 65535 的 埠范圍,像這樣:

在這個李忠,遠程系統的所有開放埠都由掃描所有可能的 TCP 埠地址來識別。我們也可以修改掃描配置使用破折號記法來掃描地址序列。

這個例子中,TCP SYN 掃描執行在由 RHOST 變數指定的所有主機地址的 80 埠上。與之相似, RHOSTS 可以使用 CIDR 記法定義網路范圍。

Metasploit SYN 掃描輔助模塊背後的底層原理和任何其它 SYN 掃描工具一樣。對於每個被掃描的埠,會發送 SYN 封包。SYN+ACK 封包會用於識別活動服務。使用 MEtasploit 可能更加有吸引力,因為它擁有交互控制台,也因為它是個已經被多數滲透測試者熟知的工具。

除了我們之前學到了探索技巧,hping3 也可以用於執行埠掃描。這個秘籍展示了如何使用 hping3 來執行 TCP 隱秘掃描。

為了使用 hping3 執行 TCP 隱秘掃描,你需要一個運行 TCP 網路服務的遠程伺服器。這個例子中我們使用 Metasploitable2 實例來執行任務。配置 Metasploitable2 的更多信息請參考第一章中的「安裝 Metasploitable2」秘籍。

除了我們之前學到了探索技巧,hping3 也可以用於執行埠掃描。為了使用 hping3 執行埠掃描,我們需要以一個整數值使用 --scan 模式來指定要掃描的埠號。

上面的例子中,SYN 掃描執行在指定 IP 地址的 TCP 埠 80 上。 -S 選項指明了發給遠程系統的封包中激活的 TCP 標識。表格展示了接收到的響應封包中的屬性。我們可以從輸出中看到,接收到了SYN+ACK 響應,所以這表示目標主機埠 80 是開放的。此外,我們可以通過輸入夠好分隔的埠號列表來掃描多個埠,像這樣:

在上面的掃描輸出中,你可以看到,僅僅展示了接受到 SYN+ACK 標識的結果。要注意和發送到 443 埠的 SYN 請求相關的響應並沒有展示。從輸出中可以看出,我們可以通過使用 -v 選項增加詳細讀來查看所有響應。此外,可以通過傳遞第一個和最後一個埠地址值,來掃描埠范圍,像這樣:

這個例子中,100 個埠的掃描足以識別 Metasploitable2 系統上的服務。但是,為了執行 所有 TCP 埠的掃描,需要掃描所有可能的埠地址值。定義了源埠和目標埠地址的 TCP 頭部部分是 16 位長。並且,每一位可以為 1 或者 0。因此,共有 2 ** 16 或者 65536 個可能的 TCP 埠地址。對於要掃描的全部可能的地址空間,需要提供 0 到 65535 的埠范圍,像這樣:

hping3 不用於一些已經提到的其它工具,因為它並沒有 SYN 掃描模式。但是反之,它允許你指定 TCP 封包發送時的激活的 TCP 標識。在秘籍中的例子中, -S 選項讓 hping3 使用 TCP 封包的 SYN 標識。

在多數掃描工具當中,TCP 連接掃描比 SYN 掃描更加容易。這是因為 TCP 連接掃描並不需要為了生成和注入 SYN 掃描中使用的原始封包而提升許可權。Scapy 是它的一大例外。Scapy 實際上非常難以執行完全的 TCP 三次握手,也不實用。但是,出於更好理解這個過程的目的,我們來看看如何使用 Scapy 執行連接掃描。

為了使用 Scapy 執行全連接掃描,你需要一個運行 UDP 網路服務的遠程伺服器。這個例子中我們使用 Metasploitable2 實例來執行任務。配置 Metasploitable2 的更多信息請參考第一章中的「安裝 Metasploitable2」秘籍。

此外,這一節也需要編寫腳本的更多信息,請參考第一章中的「使用文本編輯器*VIM 和 Nano)。

Scapy 中很難執行全連接掃描,因為系統內核不知道你在 Scapy 中發送的請求,並且嘗試阻止你和遠程系統建立完整的三次握手。你可以在 Wireshark 或 tcpmp 中,通過發送 SYN 請求並嗅探相關流量來看到這個過程。當你接收到來自遠程系統的 SYN+ACK 響應時,Linux 內核會攔截它,並將其看做來源不明的響應,因為它不知道你在 Scapy 中 發送的請求。並且系統會自動使用 TCP RST 封包來回復,因此會斷開握手過程。考慮下面的例子:

這個 Python 腳本的例子可以用做 POC 來演系統破壞三次握手的問題。這個腳本假設你將帶有開放埠活動系統作為目標。因此,假設 SYN+ACK 回復會作為初始 SYN 請求的響應而返回。即使發送了最後的 ACK 回復,完成了握手,RST 封包也會阻止連接建立。我們可以通過觀察封包發送和接受來進一步演示。

在這個 Python 腳本中,每個發送的封包都在傳輸之前展示,並且每個收到的封包都在到達之後展示。在檢驗每個封包所激活的 TCP 標識的過程中,我們可以看到,三次握手失敗了。考慮由腳本生成的下列輸出:

在腳本的輸出中,我們看到了四個封包。第一個封包是發送的 SYN 請求,第二個封包時接收到的 SYN+ACK 回復,第三個封包時發送的 ACK 回復,之後接收到了 RST 封包,它是最後的 ACK 回復的響應。最後一個封包表明,在建立連接時出現了問題。Scapy 中可能能夠建立完成的三次握手,但是它需要對本地 IP 表做一些調整。尤其是,如果你去掉發往遠程系統的 TSR 封包,你就可以完成握手。通過使用 IP 表建立過濾機制,我們可以去掉 RST 封包來完成三次握手,而不會干擾到整個系統(這個配置出於功能上的原理並不推薦)。為了展示完整三次握手的成功建立,我們使用 Netcat 建立 TCP 監聽服務。之後嘗試使用 Scapy 連接開放的埠。

這個例子中,我們在 TCP 埠 4444 開啟了監聽服務。我們之後可以修改之前的腳本來嘗試連接 埠 4444 上的 Netcat 監聽服務。

這個腳本中,SYN 請求發送給了監聽埠。收到 SYN+ACK 回復之後,會發送 ACK回復。為了驗證連接嘗試被系統生成的 RST 封包打斷,這個腳本應該在 Wireshark 啟動之後執行,來捕獲請求蓄力。我們使用 Wireshark 的過濾器來隔離連接嘗試序列。所使用的過濾器是 tcp && (ip.src == 172.16.36.135 || ip.dst == 172.16.36.135) 。過濾器僅僅用於展示來自或發往被掃描系統的 TCP 流量。像這樣:

既然我們已經精確定位了問題。我們可以建立過濾器,讓我們能夠去除系統生成的 RST 封包。這個過濾器可以通過修改本地 IP 表來建立:

在這個例子中,本地 IP 表的修改去除了所有發往被掃描主機的目標地址的 TCP RST 封包。 list 選項隨後可以用於查看 IP 表的條目,以及驗證配置已經做了修改。為了執行另一次連接嘗試,我們需要確保 Natcat 仍舊監聽目標的 4444 埠,像這樣:

和之前相同的 Python 腳本可以再次使用,同時 WIreshark 會捕獲後台的流量。使用之前討論的顯示過濾器,我們可以輕易專注於所需的流量。要注意三次握手的所有步驟現在都可以完成,而不會收到系統生成的 RST 封包的打斷,像這樣:

此外,如果我們看一看運行在目標系統的 Netcat 服務,我們可以注意到,已經建立了連接。這是用於確認成功建立連接的進一步的證據。這可以在下面的輸出中看到:

雖然這個練習對理解和解決 TCP 連接的問題十分有幫助,恢復 IP 表的條目也十分重要。RST 封包 是 TCP 通信的重要組成部分,去除這些響應會影響正常的通信功能。洗嘜按的命令可以用於刷新我們的 iptable 規則,並驗證刷新成功:

就像例子中展示的那樣, flush 選項應該用於清楚 IP 表的條目。我們可以多次使用 list 選項來驗證 IP 表的條目已經移除了。

執行 TCP 連接掃描的同居通過執行完整的三次握手,和遠程系統的所有被掃描埠建立連接。埠的狀態取決於連接是否成功建立。如果連接建立,埠被認為是開放的,如果連接不能成功建立,埠被認為是關閉的。

❼ 一名優秀的Linux運維人員該掌握哪些工具

運維人員必須熟悉的運維工具匯總
某日受邀請參加了一個BBS活動,於是有了下面的內容。
下面是在linux網站運維方向老男孩最近幾年常用的免費的開源軟體,臨時即興想起來的,在這里和大家分享,希望給初學者指引一點路。
linux的世界真的很精彩,還沒入門的朋友趕緊進來吧!
操作系統:Centos※,Ubuntu,Redhat※,suse,Freebsd
網站服務:nginx※,apache※,lighttpd,php※,tomcat※,resin※
數據 庫:MySQL※,Mysql-proxy,MariaDB,PostgreSQL
DB中間件:MyCat,amoeba,MySQL-proxy
代理相關:lvs,keepalived,haproxy,nginx,apache,heartbeat(此行都是※)
網站緩存:squid※,nginx※,varnish
NOSQL庫:memcached※,memcachedb,TokyoTyrant※,MongoDB※,Cassandra※,redis※,CouchDB
存儲相關:Nfs※,Moosefs(mfs)※,Hadoop※,glusterfs※,lustre,FastDFS
版本管理:svn※,git※
監控報警:nagios※,cacti※,zabbix※,munin,hyperic,mrtg,graphite
域名解析:bind※,powerdns,dnsmasq※
同步軟體:rsync※,inotify※,sersync※,drbd※,csync2,union,lsyncd,scp※
批量管理:ssh+rsync+sersync※,Saltstack※,expect※,puppet※,ansible,cfengine
虛擬 化:kvm※,xen※
雲計 算:openstack※,docker,cloudstack
內網軟體:iptables※,zebra※,iftraf,ntop※,tc※,iftop
郵件軟體:qmail,posfix※,sendmail
遠程撥號:openvpn※,pptp,openswan※,ipip※
統一認證:openldap(可結合微軟活動目錄)※
隊列工具:ActiveMQ,RabbitMQ※,Metaq,MemcacheQ,Zeromq
打包發布:mvn※,ants※,jenkins※,svn
測試軟體:ab,smokeping,siege,JMeter,Webbench,LoadRunner,http_load(都是※)
日誌相關:syslog,rsyslog,Awstats,flume logstash scribe kafka,storm,ELK(Elasticsearch+Logstash+Kibana)DB代理:mysql-proxy,amoeba(更多還是程序實現讀寫分離)
搜索軟體:Sphinx,Xapian(大公司會自己開發類似網路的小規模內部搜索引擎)

提示:
1)以上所有軟體都是老男孩用過或測試過的。
2)帶※的為老男孩最近幾年用的比較多,可信任使用的。也是近年來linux運維的大眾。
3)有了功能分類和軟體名,大家有需求,可以按功能找軟體直接G就知道了。
4)學習要有舍有得,什麼都抓必然短時間都不會精,希望大家能抓重點,抓精髓,大眾軟體(帶※)先熟練了,這是基礎加提高,在研究小眾軟體(不帶※),這是高手之路,最後在研究偏門的,世外高手之路,當然前提是先掌握前面的大眾和小眾。
5)當然還有一些沒有大眾開源的有一些也很棒,如審計堡壘機程序。

❽ 如何通過外網訪問內網linux系統

訪問linux系統抄實際上是安全的方式是通過ssh協議登錄,可以將linux系統的22號埠映射到外網,這樣就可以使用ssh客戶端軟體登錄內網的linux系統了。
可以在開源社區上下載holer軟體包上傳到linux上,在holer-client/conf/holer.conf文件了配置一個key,比如:
HOLER_ACCESS_KEY=HOLER_CLIENT-822404317F9D8ADD
啟動holer就可以了

然後用ssh客戶端軟體比如putty, xshell, mobaxterm等輸入主機名holer.org 埠號 65534,同時根據提示輸入用戶名和密碼就可以登錄到內網的linux系統了

閱讀全文

與linux內網嗅探相關的資料

熱點內容
a班練琴app下載不了怎麼回事 瀏覽:349
數控中怎麼編程 瀏覽:409
vm如何安裝linux系統 瀏覽:423
歌手實績數據在哪裡看 瀏覽:691
代碼002 瀏覽:714
jdk如何編譯java文件 瀏覽:900
修改iptables配置文件 瀏覽:427
word自動保存指定文件夾 瀏覽:18
電腦畫質不清晰win10 瀏覽:912
diskgen使用教程 瀏覽:970
常州數控車編程培訓哪裡有 瀏覽:44
如何升級晴明等級 瀏覽:347
開頭是什麼文件 瀏覽:645
linux16進制看elf文件 瀏覽:663
紙檔文件怎麼能變成excel檔 瀏覽:481
迅雷下載總出現jsp 瀏覽:150
創建網頁用什麼編程語言 瀏覽:526
考研哪個app好 瀏覽:30
計算機網路的概念是什麼 瀏覽:625
網路硬碟存儲製作 瀏覽:4

友情鏈接