`
xieye
  • 浏览: 841140 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

linux查看监听端口(转载)

 
阅读更多
以下是来源
http://www.eygle.com/digest/2006/11/linux_port_checking.html

http://blog.csdn.net/pengchua/article/details/4890779

=================================================================
如果只想查特定端口的监听如80端口,则

netstat -anp|grep 80


=================================================================

配置了网络服务之后,关注一下哪些端口在监听系统的网络接口这一点很重要。任何打开的端口都可能是入侵的证明。

要列举正在监听网络的端口,有两种基本方法。一种不太可靠的方法是通过键入 netstat -an 或 lsof -i 之类的命令来查询网络堆栈。这种方法之所以不太可靠是因为这些程序不连接网络上的机器,而是查看系统上在运行什么。因此,它们频繁成为攻击者的替换目标。怪客在打开了未经授权的网络端口后,就以这种方法来企图掩盖他们的踪迹。

更可靠的方法是使用 nmap 之类的端口扫描器来检查哪些端口正在监听网络。

以下从控制台发出的命令会判定哪些端口在监听来自网络上的 TCP 连接:

    nmap -sT -O localhost

该命令的输出和以下相似:

    Starting nmap V. 3.00 ( www.insecure.org/nmap/ ) Interesting ports on localhost.localdomain (127.0.0.1): (The 1596 ports scanned but not shown below are in state: closed) Port State Service 22/tcp open ssh 111/tcp open sunrpc 515/tcp open printer 834/tcp open unknown 6000/tcp open X11 Remote OS guesses: Linux Kernel 2.4.0 or Gentoo 1.2 Linux 2.4.19 rc1-rc7)

    Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds


该输出显示了由于 sunrpc 服务的存在,系统正在运行 portmap。然而,端口834上还有一个神秘服务。要查看一下该端口是否和任何已知服务相关,键入:

    cat /etc/services | grep 834

该命令没有返回任何输出。这表明虽然该端口是在保留范围内(即从0到1023内),并且需要根权限才能打开,它并没有关联任何已知服务。

下一步,检查使用 netstat 或 lsof 的端口的信息。要使用 netstat 检查端口834,使用以下命令:

    netstat -anp | grep 834

该命令返回以下输出:

    tcp 0 0 0.0.0.0:834 0.0.0.0:* LISTEN 653/ypbind

这个开放端口在 netstat 中存在,这一点比较令人安慰,因为如果怪客在被攻击的系统上暗中打开一个端口,他们很可能不会让这个端口使用该命令被暴露出来。还有,[p] 选项揭示了打开这个端口的进程 id(PID)。在这个例子中,被打开的端口属于 ypbind(NIS),这是和 portmap 服务一起进行的 RPC 服务。

lsof 命令揭示了相似的信息,因为它也能够链接开放端口和服务:

    lsof -i | grep 834

以下是这个命令中和讨论有关的输出部分:

ypbind 653 0 7u IPv4 1319 TCP *:834 (LISTEN)
ypbind 655 0 7u IPv4 1319 TCP *:834 (LISTEN)
ypbind 656 0 7u IPv4 1319 TCP *:834 (LISTEN)
ypbind 657 0 7u IPv4 1319 TCP *:834 (LISTEN)

这些工具揭示了大量关于运行在机器上的服务状态的信息。它们很灵活,能够提供关于网络服务和配置的许多信息。强烈推荐你阅读 lsof、netstat、nmap 和 services 的说明书页。

-The End-
=====================================


netstat 的常用参数: - t、- u、- w和- x分别表示TCP、UDP、RAW和UNIX套接字连接。-a标记,还会显示出等待连接(也就是说处于监听模式)的套接字。-l 显示正在被监听(listen)的端口, -n表示直接显示端口数字而不是通过察看/etc/service来转换为端口名,-p选项表示列出监听的程序

1) netstat -tl
查看当前tcp监听端口
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State    
tcp        0      0 *:rrac                  *:*                     LISTEN    
tcp        0      0 *:34006                 *:*                     LISTEN    
......

2) netstat -tlp
查看当前tcp监听端口, 需要显示监听的程序名,当不清楚mysql的监听端口时比较好用
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name 
tcp        0      0 *:rrac                  *:*                     LISTEN      -                        
tcp        0      0 *:34006                 *:*                     LISTEN      23425/mysqld 
......


3) netstat -tl | grep 34006
    只查看mysql的监听端口,当前启动的mysql端口为34006,明确知道mysql监听端口时使用
4) netstat -ta | grep 34006
tcp        0      0 *:34006                 *:*                     LISTEN    
tcp        0      0 linux.local:34006       linux.local:41485       ESTABLISHED
tcp        0      0 linux.local:34006       linux.local:41486       ESTABLISHED
...
tcp        0      0 10.3.2.35:41488         10.3.2.35:34006         ESTABLISHED
tcp        0      0 10.3.2.35:41489         10.3.2.35:34006         ESTABLISHED
tcp        0      0 10.3.2.35:41490         10.3.2.35:34006         ESTABLISHED

由于数据库和运用程序都放在同一台机器了,因此这里连接被显示了两次. 可以使用-p参数来显示PID,然后grep PID.


5) netstat -tap | grep 34006 | grep 23425
    23425是当前mysql的PID
tcp        0      0 *:34006                 *:*                     LISTEN      23425/mysqld      
tcp        0      0 linux.local:34006       linux.local:41510       ESTABLISHED 23425/mysqld      
tcp        0      0 linux.local:34006       linux.local:41511       ESTABLISHED 23425/mysqld      
tcp        0      0 linux.local:34006       linux.local:41516       ESTABLISHED 23425/mysqld
分享到:
评论

相关推荐

    监听端口程序linux

    环境在linux环境中,监听某一个端口号是否正常(被占用),里面有服务端,客户端,在linux环境下运行,当出现异常是自动杀死服务端,重新开启服务端,并且发出调用阿里云服务短信通知有关人员,发出邮件通知!...

    linux下查看端口命令及服务

    `netstat` 是一个非常强大的工具,用于显示各种网络相关信息,如活动连接、监听端口、统计信息、路由表、接口统计信息等。 **语法格式**: ```bash netstat [选项] ``` - **常用选项**: - `-a`:显示所有连接...

    修改elasticsearch监听端口 从0.0.0.0 为127.0.0.1

    elasticsearch 在Centos上,修改elasticsearch监听端口 从0.0.0.0 为127.0.0.1,提供文档说明

    linux下查看端口是否被占用以及查看所有端口

    例如,`netstat -tunlp`将显示所有TCP和UDP监听端口的详细信息,包括与之关联的进程ID和名称。 #### 结论 通过上述命令和参数的组合使用,我们可以有效地管理和监控Linux系统的网络端口。这对于排查网络故障、优化...

    Linux用netstat查看服务及监听端口详解.pdf

    Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

    Linux获取指定端口服务信息,获取指定服务器端口号

    同样,`ss -tuln` 可以列出所有监听端口,然后用 `grep` 过滤出你需要的端口,如 `ss -tuln | grep '80'`。 3. **`lsof` 命令**: `lsof` 是一个强大的工具,可以查看打开文件的详细信息,包括网络连接。使用 `...

    Linux查看端口状态及关闭端口方法.docx

    Linux查看端口状态及关闭端口方法.docx

    Android应用本地监听端口的安全风险

    本文主要探讨了Android应用本地监听端口所带来的安全风险,尤其是PF_INET类型的网络socket。这类socket允许应用通过网络与其他设备通信,但如果没有进行适当的权限控制和安全检查,可能会导致拒绝服务攻击、root权限...

    Linux下,通过socket监听指定端口的程序

    通过GCC编译后,运行程序,就可以监听8000端口,收到数据会打印到终端

    windows查看某个端口在被哪个进程使用着,linux查看某个端口在被哪个进程使用着

    windows查看某个端口在被哪个进程使用着 linux查看某个端口在被哪个进程使用着

    linux查看端口是否开放

    linux查看端口是否开放

    linux查看端口是否被占用的小脚本

    linux查看端口是否被占用的小脚本 # 用法:./portinfo.sh port # 例如: ./portinfo.sh 80 会列出80端口是否被占用,被占用就显示80端口详细信息

    监听指定端口的UDP信息

    最后,再次调用BeginReceive启动一个新的接收操作,以便连续监听端口。 在主程序中,为了确保程序运行直到用户中断,可以使用以下代码: ```csharp Console.WriteLine("UDP listener started. Press any key to ...

    Flink笔记(五):Windows/Linux 开启端口监听

    1.Windows 开启端口监听  Windows本身是不支持 nc 端口监听的。但是我们可以通过下载 netcat 来是解决这个问题。下载地址:netcat  下载后,进行解压,并将解压后目录下的... Linux 开启端口监听,也是使用nc命令

    zabbix监控linux系统端口连接数

    在Linux环境中,网络服务通过监听特定端口来提供服务。端口连接数是衡量系统负载和服务运行状况的关键指标。通过监控端口连接数,我们可以及时发现潜在的问题,如服务器过载、恶意攻击或网络服务异常。 Zabbix提供...

    Linux和windows下查看DB2端口号

    这里,“50000”即为DB2在Windows下的监听端口号。 ### 总结 无论是Linux还是Windows操作系统,查看DB2端口号都涉及到对系统配置文件的检查。在Linux中,可以利用`db2get dbm cfg`命令结合`grep`筛选出所需信息,...

    Linux 用户空间使用Netlink监听uevent

    Linux 用户空间使用Netlink监听uevent,不是原理介绍,而是实战demo

    Linux下TCP端口扫描程序(含源代码)

    自己编写的Linux下TCP端口扫描程序(含源代码),可打印出扫描的IP上开放的所有TCP端口。如扫描的端口有输出,也可打印输出,从而判断对方端口上运行的程序。

    对linux系统下端口复用技术的

    对Linux系统下端口复用技术的理解和认识 Linux系统下端口复用技术是指在Linux系统中实现端口复用的各种方法和技术,本文将对这些技术进行详细的介绍和分析。 1. 设计方案 设计方案是实现端口复用的关键,包括...

Global site tag (gtag.js) - Google Analytics