「應用教學」C語言程式設計教學:埠掃描工具+送原始碼|安全工具
不關注《一碳科技》?那你會錯過很多幹貨哦!
你們的乾貨來了!
你們的乾貨來了!
小夥伴們聽到這句話是不是特別的激動吧?是的,小編也非常激動,因為又能跟你們分享新的知識啦,即使小編不是什麼大佬,但是或多或少都會對你們有所幫助。
今天這篇文章會教大家制作一個埠掃描工具,
埠掃描工具
是什麼呢?
埠掃描
是駭客常用來檢測電腦漏洞的一項技術,而埠掃描工具就是用來快速掃描埠的工具。這個工具可以用來檢視自己電腦各個埠的開啟情況,並針對特定的情況加強電腦安全防護,避免不必要的損失,但凡事都有兩面性,如果這個工具用於掃描別人電腦的埠,就能發現對方電腦存在的漏洞。
程式不是很強大,但是夠用!各位大佬就不要調侃小編啦
上菜!
說到埠掃描,那麼肯定會涉及到socket程式設計,所以按照慣例,我們要引用stdio。h、WinSock2。h這兩個標頭檔案、並連結Ws2_32。lib。我們還需要構建一個函式,這個函式用來掃描指定IP的埠。
今天教你們的程式非常簡單,簡單到什麼程度呢?簡單到我們只需要構建一個函式,引用兩個標頭檔案,連結一個庫檔案
。
廢話不多說,開始構建我們的函式——scan()
這個函式實現的原理很簡單,就是不斷地連線目標IP,並不斷的更換埠。我們先呼叫WSAStartup()函式進行初始化,在這之後我們先建立一個套接字,並申請一個SOCKADDR_IN結構體。
我們先把目標IP輸入SOCKADDR_IN中的S_addr成員中,並使用ipv4協議族(
sin_family=AF_INET
),這裡跟之前不同,SOCKADDR_IN中sin_port成員的值將在迴圈中賦值。
為什麼要在迴圈裡面賦值呢?
因為我們要進行埠掃描,所以我們掃描的IP和使用的協議族是不變的,唯一改變的是埠號,所以我們要在迴圈裡面將埠號進行累加,直到埠號為我們結束埠時退出迴圈。
在這些步驟做完之後,我們要把建立的套接字關閉,並終止終止對
Ws2_32.dll
的使用。
程式執行結果
小編對smtp。163。com進行了掃描,作為一個郵箱伺服器,smtp。163。com的25號埠肯定是開啟的,用於傳送郵件服務,所以透過掃描發現smtp。163。com的25號埠是開啟的↓
相信有些小夥伴需要這個原始碼,但是有個條件!
什麼條件呢?這個條件就是,你們要把文章讀完並理解,要不然把原始碼發出來也學不會,不是嗎?
評論區前20名附送原始碼(留郵箱)!