python - 關(guān)于ACK標(biāo)志位的TCP端口掃描的疑惑?
問(wèn)題描述
書(shū)上說(shuō)ACK掃描,如果對(duì)方端口是開(kāi)放的,返回的RST報(bào)文TTL應(yīng)該小于等于64,而大于則表示不開(kāi)放。
但是我在Kail上分別對(duì)同一個(gè)C段的兩臺(tái)機(jī)器進(jìn)行掃描時(shí)發(fā)現(xiàn):
對(duì)windows主機(jī)的一個(gè)開(kāi)放端口(80)掃描,得到的RST報(bào)文的TTL=128,window=32767,對(duì)一關(guān)閉的端口(11987)掃描,得到的RST報(bào)文的TTL=128,window=32767
對(duì)Linux主機(jī)(Ubuntu 16.04)的一個(gè)開(kāi)放端口(22)掃描,得到的RST報(bào)文的TTL=64,window=0,對(duì)一關(guān)閉端口(12339)掃描,得到的RST報(bào)文的TTL=64,window=0
請(qǐng)問(wèn)何解?
問(wèn)題解答
回答1:不是小于等于64等于開(kāi)放端口,是同時(shí)對(duì)一臺(tái)機(jī)器的一堆端口發(fā)送ACK包,有某個(gè)端口返回的RST中TTL明顯小于其他,則說(shuō)明此端口可能開(kāi)放。至于128/64這個(gè)情況,是因?yàn)?nix和windows默認(rèn)的TTL值不同。一般可認(rèn)為*nix的默認(rèn)TTL值為64,windows為128。(具體到不同系統(tǒng)/內(nèi)核版本,會(huì)有區(qū)別)
相關(guān)文章:
1. javascript - 在靜態(tài)頁(yè)面上用load 引入的頁(yè)面文件問(wèn)題?2. 代理 - 一個(gè)nginx需求,訪問(wèn)web服務(wù)時(shí),若用戶(hù)為測(cè)試用戶(hù)則轉(zhuǎn)發(fā)到web服務(wù)的測(cè)試版本3. javascript - webpack打包后的bundlejs文件代碼不知道什么意思.4. java后臺(tái)導(dǎo)出頁(yè)面到pdf5. java - instance method中 static后的<K>是什么意思?6. css3 - css如何實(shí)現(xiàn)素描描邊效果7. css - 關(guān)于ul的布局8. css - 如何使用 vue transition 實(shí)現(xiàn) ios 按鈕一樣的平滑切換效果9. javascript - vue組件通過(guò)eventBus通信時(shí),報(bào)錯(cuò)a.$on is not a function10. html - 哪些情況下float會(huì)失效?
