網路安全系列之二十八埠掃描
埠掃描在系統攻防中佔據非常重要的地位,在瞭解埠掃描之前,有必要先了解一些TCP協議以及三次握手的相關知識。
1. TCP協議
TCP報文格式如下圖所示:
其中比較重要的幾個欄位:
-
復位位元RST:當RST=1時,表明TCP連線中出現嚴重差錯(如由於主機崩潰或其它原因),必須釋放連線,然後再重新建立連線。
-
同步位元SYN:同步位元SYN置為1,就表示這是一個連線請求或連線接受報文。
-
終止位元FIN:用來釋放一個連線。當FIN=1時,表明此報文的傳送端的資料已傳送完畢,並要求釋放連線。
TCP三次握手建立連線的過程:
2. 埠掃描型別
埠掃描就是嘗試與目標主機的某些埠建立連線,如果目標主機該埠有回覆,則說明埠開放,即為“活動埠”。通過埠掃描可以判斷目標主機上開放了哪些服務,執行何種作業系統,以便使用相應的手段進行入侵。
根據掃描原理不同,埠掃描可以有以下分類:全TCP掃描、半開式掃描(SYN掃描)、FIN掃描。
(1)全TCP掃描
這種掃描方法使用三次握手,與目標計算機建立標準的TCP連線。但這種掃描方法很容易被目標主機記錄。
(2)半開式掃描(SYN掃描)
在這種掃描方式中,掃描主機向目標計算機的指定埠傳送SYN資料段,表示傳送建立連線請求。
如果目標計算機的回應TCP報文中SYN=1,ACK=1,則說明該埠是活動的,接著掃描主機傳送一個RST給目標主機,拒絕建立TCP連線,從而導致三次握手過程的失敗。
如果目標計算機的回應是RST,則表示該埠是“死埠”,這種情況下,掃描主機不用做任何回應。
SYN掃描,由於掃描過程中全連線尚未建立,所以大大降低了被目標計算機記錄的可能性,並且加快了掃描的速度。
(3)FIN掃描
當傳送一個FIN=1的TCP報文到一個關閉的埠時,該報文會被丟掉,並返回一個RST報文。但是當傳送FIN報文到一個活動的埠時,該報文只是簡單的丟掉,不會返回任何回應。
FIN掃描沒有涉及任何TCP連線部分,因此這種掃描比前兩種都安全,可以稱之為祕密掃描。
本文轉自 yttitan 51CTO部落格,原文連結:http://blog.51cto.com/yttitan/1574064
相關文章
- 埠掃描網路安全工具——NMAP
- 我談網路掃描–之二
- 如何防止網路監聽與埠掃描
- 埠掃描器
- Nmap 7.95 - Zenmap 漢化版,埠掃描、網路嗅探工具
- Zenmap(埠掃描工具)
- python掃描埠Python
- python 埠掃描Python
- 海量埠掃描工具masscan
- nc掃描機器埠
- linux/unix 掃描埠Linux
- 淺談埠掃描原理
- 網路安全漏洞掃描工具有哪些?老男孩網路安全入門教程
- 掃描WPS加密網路加密
- 掃描所有無線網路
- 如何使用evilscan 掃描網路
- 網路掃描整合工具SPARTA
- 安全掃描工具
- 【網路安全乾貨分享】Web安全常用的掃描工具有哪些?Web
- Go 實現埠掃描器Go
- 【網路安全必備篇】有哪些好用的網站漏洞掃描工具?網站
- GO語言 實現埠掃描Go
- Python 實現埠掃描器Python
- 實驗一 網路掃描與網路偵察
- 在Linux中,什麼是埠掃描?如何使用工具如nmap進行埠掃描?Linux
- 通過shell指令碼防止埠掃描指令碼
- linux下nc掃描tcp,udp埠LinuxTCPUDP
- java編寫一個埠掃描器Java
- 網路安全系列之十八 MySQL基本操作(PHP注入基礎)MySqlPHP
- 網路掃描工具Nmap常用命令
- RustScan: 能在3秒內掃描65k個埠的Rust掃描工具Rust
- 主機安全掃描工具-- vuls
- 1-編寫一個埠掃描器
- 埠掃描器——ZenmapKail Linux滲透測APKAILinux
- HackTools————2.簡單FTP網路掃描FTP
- ZMap:一小時掃描整個網際網路
- Cloudflare網址掃描器Cloud
- 容器映象安全:安全漏洞掃描神器Trivy