為了安全的原因,很多人都把服務(wù)器默認(rèn)的遠(yuǎn)程連接端口(windows是3389,linux是22)改成了其他數(shù)字,但是一旦忘記了這個(gè)新設(shè)置的端口號(hào),怎么辦呢?我今天在維護(hù)一臺(tái)服務(wù)器時(shí),就遇到了這個(gè)情況,當(dāng)時(shí)更改端口號(hào)時(shí)沒有及時(shí)記錄下來,現(xiàn)在要連接才發(fā)現(xiàn)這個(gè)低級失誤。
遇到這個(gè)情況,我想大家首先想到的就是掃描端口了。但是網(wǎng)上的在線工具,都是要我們輸入端口號(hào)來檢測是否開啟,這肯定不能滿足要求,因?yàn)?-65535這么多數(shù)字我們不可能每個(gè)都手動(dòng)輸入去檢測。
好在,我后來找到了這個(gè)小工具:ScanPort,它能自動(dòng)掃描某一服務(wù)器的所有開放端口。
端口掃描器 ScanPort
端口掃描工具ScanPort是一個(gè)小巧的網(wǎng)絡(luò)端口掃描工具,并且是綠色版不用安裝即可使用。使用也很簡單,輸入起始IP和結(jié)束IP(對于一臺(tái)服務(wù)器來說,起始IP和結(jié)束IP是相同的),端口號(hào)(多個(gè)端口號(hào)用逗號(hào)隔開,也可以指定一個(gè)范圍如從1到100,就寫:1-100),然后點(diǎn)擊“掃描”即可。
掃描速度很快,掃描結(jié)果顯示所有開啟的端口號(hào)。由于開啟的端口號(hào)并不多,一般也就十幾二十個(gè),所以很容易就找到自己設(shè)置的遠(yuǎn)程端口號(hào)了。
最后附上此工具的下載:
鏈接: https://pan.baidu.com/s/1c3uwj88 密碼: tkmt
相關(guān)知識(shí):端口數(shù)能否超過65535
碰到某人的服務(wù)器~3389端口變成了78650。
通常服務(wù)器的端口都是1-65535他來個(gè)頂你肺啊78650。。。你說怪不怪。。。
這種問題我還真是頭一次聽說,經(jīng)查閱相關(guān)資料得知:
看看專家告訴你答案:
哈哈 tcp port 大小為 16 bit 是否能超過 65535 可想而知啦!!
不過 Windows 會(huì)有一個(gè)問題 telnet www.sina.com.cn 65616 大家可以測試一下 !
這實(shí)際上是訪問 www.sina.com.cn 的 80 端口,為什么呢?如果想不出來就回學(xué)校重新學(xué)去!
注:65616 - 65536 = 80
以下是引用片段:
main()
{
unsigned short int tcp_port=65616;
printf("%u",tcp_port);
}
有些軟件,比方說 Windows 的 telnet,可能用了 32 bit 的數(shù)據(jù)類型記錄 port,這樣 port 表面上看到是可以超過 65535。
但是 tcp header 明確定義了 tcpport 為 16 bit,那即便某些應(yīng)用程序使用了 32 bit 的數(shù)據(jù)類型,最終結(jié)果也是被強(qiáng)制轉(zhuǎn)換。
簡單的來說,就是:
1、在應(yīng)用程序里邊可以使用4字節(jié)或更多字節(jié)來儲(chǔ)存端口號(hào)。
2、當(dāng)調(diào)用了系統(tǒng)的tcp/ip通訊之后,系統(tǒng)底層強(qiáng)制將大于65536的端口轉(zhuǎn)換回正常范圍。
3、并且在轉(zhuǎn)換過程中,不會(huì)返回任何錯(cuò)誤信息,一切都悄然進(jìn)行了,所以應(yīng)用層的程序不會(huì)有任何特別反應(yīng),這一切都在系統(tǒng)底層悄然完成了。
4、轉(zhuǎn)換的方式為:端口號(hào) - 65536 = ?,問號(hào)處既是轉(zhuǎn)換結(jié)果。
5、如果轉(zhuǎn)換后的端口還超過65535呢?那就繼續(xù)轉(zhuǎn)換,直到小于等于65535為止,所以 telnet www.baidu.com 131152 也是可以完美執(zhí)行的,(65536 + 65536 + 80 = 131152)。