packagemainimport("fmt""log""net""golang.org/x/sys/unix")funcmain(){srcIP:="0.0.0.0"// if not know, set 0.0.0.0
srcPort:=23457targetIP:="10.211.55.10"targetPort:=12345// build socket
fd,err:=unix.Socket(unix.AF_INET,unix.SOCK_STREAM,unix.IPPROTO_TCP)iferr!=nil{log.Fatal(err)}deferunix.Close(fd)// set source IP and source PORT
localAddr:=&unix.SockaddrInet4{Port:srcPort}copy(localAddr.Addr[:],net.ParseIP(srcIP).To4())err=unix.Bind(fd,localAddr)iferr!=nil{log.Fatal(err)}// connnect
remoteAddr:=&unix.SockaddrInet4{Port:targetPort}copy(remoteAddr.Addr[:],net.ParseIP(targetIP).To4())err=unix.Connect(fd,remoteAddr)iferr!=nil{log.Fatal(err)}fmt.Println("SYN packet sent successfully!")}