返回顶部
首页 > 资讯 > 后端开发 > GO >识别端口对应的服务
  • 933
分享到

识别端口对应的服务

2024-04-04 23:04:02 933人浏览 安东尼
摘要

你在学习golang相关的知识吗?本文《识别端口对应的服务》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!问题内容我正在

你在学习golang相关的知识吗?本文《识别端口对应的服务》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

我正在编写简单的网络扫描器,并坚持通过端口号解析服务名称。最好的方法是什么?我认为它应该类似于 pythonSocket.getservbyport() 并创建了这个库,但不幸的是开发环境基于 windows,而且我想要内置解决方案而不是解析器。

package main

import (
    "fmt"
    "net"
    "strings"
    "sync"
    "time"
)

type PortScanner struct {
    ip string
}

func ScanPort(ip string, port int, timeout time.Duration) {
    target := fmt.Sprintf("%s:%d", ip, port)
    conn, err := net.DialTimeout("tcp", target, timeout)
    if err != nil {
        if strings.Contains(err.Error(), "too many open files") {
            time.Sleep(timeout)
            ScanPort(ip, port, timeout)
        }
        return
    }

    if err = conn.Close(); err != nil {
        fmt.Println(err)
    }
    fmt.Println(port, "open")
}

func (ps *PortScanner) Start(f, l int, timeout time.Duration) {
    wg := sync.WaitGroup{}
    defer wg.Wait()

    for port := f; port <= l; port++ {
        wg.Add(1)
        Go func(port int) {
            defer wg.Done()
            ScanPort(ps.ip, port, timeout)
        }(port)
    }
}

func main() {
    ps := &PortScanner{ip: "127.0.0.1"}
    ps.Start(1, 65535, 500*time.Millisecond)
}


解决方案


您可以修改该 netdb 库中的代码以加载您提供的 services 文件 instead of /etc/services

也许更好,因为这本质上只是一个键/值映射,所以创建一个 ports.go 文件:

var tcpports = map[int]string{
    80: "Http"
    // ...
}

然后进行常规地图查找。

要列出所有 tcp 端口,您可以执行以下操作:

$ sed -E '/tcp$/!d; s!^([a-zA-Z0-9\-]+)\s+([0-9]+)/\w+!\t\2: "\1",!;' /etc/services
1: "tcpmux",
2: "compressnet",
3: "compressnet",
5: "rje",
7: "echo",
9: "discard",
11: "systat",
13: "daytime",
17: "qotd",
19: "chargen",
.. many more ..

到这里,我们也就讲完了《识别端口对应的服务》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注编程网公众号,带你了解更多关于的知识点!

您可能感兴趣的文档:

--结束END--

本文标题: 识别端口对应的服务

本文链接: https://lsjlt.com/news/595638.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 识别端口对应的服务
    你在学习Golang相关的知识吗?本文《识别端口对应的服务》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!问题内容我正在...
    99+
    2024-04-04
  • 如何识别亚马逊服务器端口
    要识别亚马逊服务器的端口,您可以使用以下步骤: 登录到您的亚马逊 Web 服务 (AWS) 控制台。 在控制台中,选择“EC2”服务。 在 EC2 控制台中,选择您要查看的实例。 在实例详细信息页面中,查找“安全组”选项卡。 在“安全组...
    99+
    2023-10-27
    亚马逊 端口 如何识别
  • 云服务器怎么开启对应端口
    1. 了解云服务器端口 在开始开启云服务器对应端口之前,我们需要先了解一下什么是端口。端口是计算机网络中用于区分不同应用程序或服务的数字标识,它是一个 16 位的数字,范围从 0 到 65535。其中,0 到 1023 的端口号被称为“知...
    99+
    2023-10-27
    端口 服务器
  • 云服务器怎么开启对应端口设置
    在控制面板中开启端口 在控制面板中,可以进入"服务和应用程序"选项卡,找到"服务"选项,并点击"服务"按钮,然后找到"Apache"服务,点击"启动"按钮即可开启该服务端口。在控制面板中还可以设置端口的过滤规则,例如限制特定的端口、关闭端...
    99+
    2023-10-28
    端口 服务器
  • 云服务器怎么开启对应端口权限
    首先,需要确定云服务器对应的端口号。在云服务器的配置文件中,可以找到端口号的配置选项。通常情况下,云服务器的端口号都是以数字和字母组合的形式进行命名的,如1398、2198等。如果用户需要访问远程服务器的资源,就需要将端口号输入到对应的端口...
    99+
    2023-10-27
    端口 权限 服务器
  • 如何识别和应对DDoS攻击:保护您的Linux服务器
    要识别和应对DDoS(分布式拒绝服务)攻击以保护您的Linux服务器,您可以采取以下措施:1. 监测流量模式:通过监测服务器的网络流...
    99+
    2023-10-18
    Linux
  • 怎么识别并应对DDoS攻击
    DDoS(分布式拒绝服务)攻击是一种网络攻击,旨在通过向目标网站或服务器发送大量的请求来使其超载,从而导致服务无法正常运行。以下是识...
    99+
    2024-04-22
    DDoS攻击
  • 通过端口号查找对应的pid
    端口 34048 [root@hs-152 ~]# lsof -i:34048 COMMAND   PID USER   FD   TYPE&n...
    99+
    2024-04-02
  • 轻量应用服务器端口
    轻量应用服务器端口是指一种适用于轻量应用程序的端口,通常使用80、20、24、16等作为默认端口,这些端口通常被称为应用服务端口。以下是一些常见的轻量应用服务器端口:需要注意的是,不同的应用程序使用的端口可能不同,因此需要根据具体应用程序进...
    99+
    2023-10-25
    端口 服务器
  • 阿里云服务器关闭PC端口的影响及应对策略
    在互联网技术飞速发展的今天,PC端口的关闭对于阿里云服务器来说无疑是一次重大的调整。阿里云服务器是一家领先的云计算服务提供商,而PC端口作为阿里云服务器的主要传输通道,其关闭无疑会对阿里云服务器的运行产生一定的影响。那么,阿里云服务器关闭P...
    99+
    2023-11-12
    阿里 端口 应对策略
  • linux怎么查看端口号对应的进程
    要查看端口号对应的进程,在Linux系统上可以使用以下命令: 使用netstat命令查看端口号对应的进程: netstat -t...
    99+
    2024-03-12
    linux
  • 云服务器有几种端口类型的区别
    云服务器有许多不同的端口类型,以下是其中的几种: G端口(Gateway port) G端口是云服务器最常用的端口类型之一,它用于与外部网络进行通信。在云服务器中,G端口通常用于创建虚拟机、存储系统和其他云资源。G端口是默认端口,因此...
    99+
    2023-10-27
    几种 端口 区别
  • 轻量应用服务器开放端口
    轻量应用服务器开放端口的做法有很多,以下是一些常见的方法:使用SSL证书:使用SSL证书,可以确保应用服务器能够在传输数据时加密信息,防止数据被篡改和盗用。如果您选择使用SSL证书,可以在您的应用服务器上添加证书管理器,将证书信息存储在管理...
    99+
    2023-10-26
    端口 服务器
  • 轻量应用服务器端口设置
    一、优化端口配置 限制服务端口 在轻量应用中,服务端口通常被限制在24个。如果服务端口不够用,可以通过在应用服务器上配置多个服务端口,来提高服务的负载能力。比如,可以在每个服务端口上绑定一个特定的IP地址,以便在某个特定的时间段内访问...
    99+
    2023-10-28
    端口 服务器
  • 轻量应用服务器端口是什么样的
    轻量应用服务器端口通常用于访问轻量级的应用程序,例如Web应用程序。这些端口通常用于以下几种情况:Web应用程序的用户界面和数据库等需要在浏览器中访问时使用。例如,使用HTTP GET请求来执行Cookie获取和处理HTTPS连接等操作。在...
    99+
    2023-10-25
    端口 服务器
  • 轻量应用服务器端口用不了
    如果您使用的是轻量应用服务器(如Apache Simple Cloud、Postman等),并不是所有端口都可以用。为了确保您的应用能够正常工作,建议您查看适用的最佳实践和标准来确保您所使用的端口是正确的。以下是一些通用建议:确保您安装了合...
    99+
    2023-10-25
    端口 服务器
  • 云服务器供应商开通80端口
    如果您正在使用云服务器提供商,他们可能会开通一个80端口来提供服务。80端口是许多云服务器提供商使用的端口,用于向您的互联网上的远程用户开放。这些端口通常用于拨号连接以及Web、视频流和其他应用程序的服务。 如果您正在使用的是云服务器提供...
    99+
    2023-10-26
    端口 供应商 服务器
  • 轻量应用服务器端口是什么
    在现代应用程序中,数据的处理和存储越来越复杂,同时,用户对应用的响应速度和稳定性要求也越来越高。因此,轻量应用服务器应运而生。轻量应用服务器通常具有以下特点: 处理能力更强:轻量应用服务器可以更好地应对应用程序和网站的性能要求,通过降低...
    99+
    2023-10-28
    端口 服务器
  • 如何对美国服务器的端口进行分类
    对美国服务器端口进行分类的方法:1、从端口的性质来分类,有公认端口、注册端口、动态和私有端口三类;2、根据所提供的服务方式来分类,有TCP协议端口和UDP协议端口两类。具体内容如下:一、如果从端口的性质来分,通常可以分为公认端口,注册端口,...
    99+
    2024-04-02
  • 轻量应用服务器端口是什么样的啊
    轻量应用服务器端口通常用于提供轻量级的网络连接,例如HTTP、SMTP、POP和DNS。这些端口通常用于实现简单而轻量的通信应用程序。 通常来说,轻量应用服务器端口的类型主要有以下几种: HTTP端口(HTTP Header):用于发送...
    99+
    2023-10-26
    端口 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作