zoukankan      html  css  js  c++  java
  • Linux系统 端口知识以及相关监听工具

    在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型。

    物理端口指的是物理存在的端口,如ADSL Modem、集线器、交换机、路由器上用 于连接其他网络设备的接口,如RJ-45端口、SC端口等等。
    逻辑端口指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等。
    由于物理端口和逻辑端口数量较多,为了对端口进行区分,将每个端口进行了编号,这就是端口号

    一.端口按端口号可以分为3大类:
    -------------------------------------------------------------------------------------------
    1:公认端口(Well Known Port)

    公认端口号从0到1023,它们紧密绑定与一些常见服务,例如FTP服务使用端口21,你在 /etc/services 里面可以看到这种映射关系。

    2:注册端口(Registered Ports):

    从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的.

    3: 动态或私有端口(Dynamic and/or Private Ports)

    动态端口,即私人端口号(private port numbers),是可用于任意软件与任何其他的软件通信的端口数,使用因特网的传输控制协议,或用户传输协议。动态端口一般从49152到65535

    Linux中有限定端口的使用范围,如果我要为我的程序预留某些端口,那么我需要控制这个端口范围。
    /proc/sys/net/ipv4/ip_local_port_range定义了本地TCP/UDP的端口范围
    你可以在/etc/sysctl.conf里面定义net.ipv4.ip_local_port_range = 1024 65000


    二。相关的检测工具 nmap telnet lsof
    1:nmap工具检测开放端口
    ------------------------------------------------------------------------------------------
    nmap localhost #查看主机当前开放的端口
    nmap -p 1024-65535 localhost #查看主机端口(1024-65535)中开放的端口

    nmap -sU 192.168.8.226 #UDP 扫描:探测目标主机提供哪些 UDP 服务,UDP 扫描的速度会比较慢
    nmap -PS 192.168.8.226 #探测目标主机开放的端口
    nmap -O 192.168.8.226 #探测目标主机操作系统类型
    nmap -A 192.168.8.226 #探测目标主机操作系统类型
    nmap --help #更多nmap参数请查询帮助信息

    nmap -sP 192.168.8.* 或 nmap -sP 192.168.8.0/24 扫描这个网段机器情况


    nmap端口状态open closed 的解答 参考链接:https://www.cnblogs.com/AloneSword/articles/5078716.html

    ------------------------------------------------------------------------------------------
    2:netstat 工具检测开放端口
    ------------------------------------------------------------------------------------------
    -a 列出所有当前的连接。
    -t 列出 TCP 协议的连接
    -u 列出 UDP 协议的连接
    -n 选项禁用域名解析功能。
    -l 选项列出正在监听的套接字。
    -p 选项查看进程信息。
    ------------------------------------------------------------------------------------------
    3:lsof 工具检测开放端口
    ------------------------------------------------------------------------------------------
    lsof -i 列出所有打开了网络套接字(TCP和UDP)的进程
    lsof -i:22 -i:port来显示与指定端口相关的网络信息
    lsof -i tcp/udp 只列出打开TCP 或UDP sockets的进程
    ------------------------------------------------------------------------------------------
    4: 使用telnet检测端口是否开放
    ------------------------------------------------------------------------------------------
    //格式: telnet ip prot
    telnet 192.168.8.226 80

    ------------------------------------------------------------------------------------------
    5:netcat工具检测端口是否开放。
    ------------------------------------------------------------------------------------------
    nc -v ip port 扫瞄某IP的某个端口,返回信息详细输出


    参考信息:
    https://blog.csdn.net/zflovecf/article/details/79267769

    https://www.cnblogs.com/wzy23/p/11389431.html

  • 相关阅读:
    C++11 并发指南四(<future> 详解三 std::future & std::shared_future)(转)
    转: 关于 ssl的建立链接的过程
    工信部电信投诉网站入口
    rfc 标准文档目录
    转: 七牛云的开源播放器的使用指南
    转: Android基于HLS和RTMP协议的第三方SDK选择
    转:Android中Context详解 ---- 你所不知道的Context
    android开发推荐书籍列表
    转:java 类名 this 的使用
    转: android studio 消除SDK更新时的“https://dl-ssl.google.com refused”错误
  • 原文地址:https://www.cnblogs.com/xq0422/p/12074319.html
Copyright © 2011-2022 走看看