Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "github.com/labstack/gommon/log"
- "syscall"
- )
- func main() {
- socketFd, err := syscall.Socket(syscall.AF_INET, syscall.SOCK_RAW, 255)
- if err != nil {
- log.Fatalf("socket: %v", err)
- }
- defer syscall.Close(socketFd)
- log.Printf("socket created")
- if err = syscall.Bind(socketFd, &syscall.SockaddrInet4{
- Port: 8411,
- Addr: [4]byte{0, 0, 0, 0},
- }); err != nil {
- log.Fatalf("bind: %v", err)
- }
- log.Printf("socket bound")
- buf := make([]byte, 4096)
- for {
- // Вот тут лок и нихуя не происходит, при этом нмап видит сервер
- // Хули не работает
- n, sockaddr, err := syscall.Recvfrom(socketFd, buf, 0)
- if err != nil {
- log.Fatalf("recvfrom: %v", err)
- }
- log.Printf("received %d bytes from %v: %x", n, sockaddr, buf[:n])
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement