佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > Go語(yǔ)言實(shí)現(xiàn)的簡(jiǎn)單網(wǎng)絡(luò)端口掃描方法

Go語(yǔ)言實(shí)現(xiàn)的簡(jiǎn)單網(wǎng)絡(luò)端口掃描方法

熱門(mén)標(biāo)簽:地方門(mén)戶(hù)網(wǎng)站 網(wǎng)站排名優(yōu)化 百度競(jìng)價(jià)排名 鐵路電話(huà)系統(tǒng) 呼叫中心市場(chǎng)需求 服務(wù)外包 Linux服務(wù)器 AI電銷(xiāo)

本文實(shí)例講述了Go語(yǔ)言實(shí)現(xiàn)的簡(jiǎn)單網(wǎng)絡(luò)端口掃描方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

復(fù)制代碼 代碼如下:
package main
import (
 "net"
 "fmt"
 "os"
 "runtime"
 "time"
 "strconv"
)

func loop(startport, endport int, inport chan int) {
  for i := startport; i = endport; i++{
   inport - i
  }
}

func scanner(inport, outport, out chan int, ip net.IP, endport int){
 for{
  in := - inport
  //fmt.Println(in)
  tcpaddr := net.TCPAddr{ip,in}
  conn, err := net.DialTCP("tcp", nil, tcpaddr)
  if err != nil {
   outport - 0
  }else{
   outport - in
  }
  conn.Close()
  if in == endport{
   out - in
  }
 }
}

func main() {
 starttime := time.Now().Unix()
 runtime.GOMAXPROCS(4)
 inport := make(chan int)
 outport := make(chan int)
 out := make(chan int)
 collect := []int{}
 if len(os.Args) != 4 {
  fmt.Println("Usage: scanner.exe IP startport endport")
  fmt.Println("Endport must be larger than startport")
  os.Exit(0)
 }
 ip := net.ParseIP(os.Args[1])
 if(os.Args[3] os.Args[2]) {
  fmt.Println("Usage: scanner IP startport endport")
  fmt.Println("Endport must be larger than startport")
  os.Exit(0)
 }
 startport, _:= strconv.Atoi(os.Args[2])
 endport, _ := strconv.Atoi(os.Args[3])
 go loop(startport, endport, inport)
 for{
  select {
   case -out:
    fmt.Println(collect)
    endtime := time.Now().Unix()
    fmt.Println("The scan process has spent ",endtime-starttime,"second")
    os.Exit(0)
   default:
    go scanner(inport, outport, out, ip, endport)
    port := - outport
    
    if port != 0{
     collect = append(collect, port)
    }
  }  
 }
}

希望本文所述對(duì)大家的Go語(yǔ)言程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • go語(yǔ)言制作端口掃描器
  • GO語(yǔ)言實(shí)現(xiàn)的端口掃描器分享
  • go 實(shí)現(xiàn)簡(jiǎn)易端口掃描的示例

標(biāo)簽:銅川 仙桃 湖南 蘭州 衡水 黃山 崇左 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go語(yǔ)言實(shí)現(xiàn)的簡(jiǎn)單網(wǎng)絡(luò)端口掃描方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266
    剑河县| 黑龙江省| 景泰县| 巴彦县| 富阳市| 女性| 德阳市| 应城市| 泗阳县| 元氏县| 乡城县| 饶河县| 城固县| 明光市| 汕尾市| 武邑县| 广宗县| 莫力| 濮阳县| 宜兴市| 北海市| 韶山市| 瑞安市| 庆城县| 灌阳县| 长白| 闵行区| 商城县| 三河市| 神农架林区| 小金县| 庆云县| 长武县| 福鼎市| 滨海县| 马鞍山市| 兴安县| 珠海市| 盐池县| 若羌县| 古交市|