端口检测_端口检测工具 - CSDN
精华内容
参与话题
  • #! /bin/bash file="/export/home/itms/host.txt" for i in more $file do ip=echo $i|cut -d ',' -f 1 #获取IP ...port=echo $i|cut -d ',...#port=echo $i|awk -F ',' '{print $2}' #获取端口号方法2 ping -c 3 ...

    #! /bin/bash

    file="/export/home/itms/host.txt" #文件格式IP,PORT

    for i in more $file
    do
    ip=echo $i|cut -d ',' -f 1 #获取IP
    port=echo $i|cut -d ',' -f 2 #获取端口号
    #port=echo $i|awk -F ',' '{print $2}' #获取端口号方法2

    ping -c 3 $ip >/dev/null  2>&1        #查看服务器是否可以ping通,如果可以ping通,继续查看端口,否则报错
    if [ $? -eq 0 ];then
    	echo "${ip} is up"
    	
    	/usr/bin/nc -z -v -w2 $ip $port >/dev/null  2>&1  #查看端口是否可以ping通
    
    	if [ $? -eq 0 ];then
    		echo "${ip}:${port} is ok"
    	else
    		echo "${ip}:${port} is fail"
    	fi
    else
    	echo "${ip} is down"
    fi
    done
    
    展开全文
  • TCP端口检测工具

    2019-07-06 18:41:32
    幸好有tcping命令,可以实现tcp端口检测。 1. 用途监听主机的端口状态,默认是80端口,也可以指定其它端口 看到ping返回的时间,检测主机是否有延时或者端口不通 2. 安装访问tcping主页,下载安装包...

    很多时候,我们需要测试 tcp 端口。ping 命令虽然好用,但不能测试端口,因为 ping 基于ICMP协议,属于IP层协议,所以无法测试传输层的 TCP/UDP 端口。幸好有tcping命令,可以实现tcp端口检测。

     

    1. 用途
    监听主机的端口状态,默认是80端口,也可以指定其它端口

    看到ping返回的时间,检测主机是否有延时或者端口不通


    2. 安装

    访问tcping主页,下载安装包tcping-1.3.5.tar.gz,编译安装tcping(需要安装gcc、make)。
    # tar zxvf tcping-1.3.5.tar.gz

    # cd tcping-1.3.5

    # yum install -y gcc

    # make

    # cp tcping /usr/bin/

     

    3. tcping参数详解

    • 描述

    在本地主机和远程主机之间,tcping可以测试出执行TCP三次握手所需的时间(SYN,SYN / ACK,ACK)。最终ACK传送时间不包括在内,只有最少的时间才能将其丢弃在近端的电线。 

    选项
    -4,优先使用IPv4

    -6,优先使用IPv6

    -h,使用http模式

    -t,让命令持续运行,直到使用ctrl + c指令退出

    -n 数字,发送命令的次数,默认4次

    -i 数字,发送ping命令的时间间隔,默认1s,可以为小数

    -w 数字,等待响应的时间间隔,默认2s,可以为小数

    -d,使输出的每一行显示时间和日期

    -f,强制ping命令至少发送一个比特(byte)

    -g 数字,失败指定次就放弃(注意默认是80端口,若其他端口没开也算失败)

    -b 数字,开启蜂鸣器,参数4会一直响铃

    -c,只显示改变的信息(ping时间很短一般不会改变)

    -r 数字,每发送指定个数据包,就重新查找主机一次(通过DNS或路由查找)

    -s,ping通就立即退出

    -u,与-h命令连用,每一行输出目标的url

    -v,显示版本信息

    -j,使用默认的方法,求ping的均值减小波动,网络有一定的不稳定性时,用此参数可以减小波动

    -js 数字,用指定个实例求平均值减小波动,使用这个参数,系统会tcping 指定次,然后求出平均值作为一次结果显示,减小波动

    –tee file_path,将结果输出到指定位置,tcping –tee /data/test.txt192.168.0.100,会把ping的结果保存在/data下的test文件中

    –file,从文件中获得ping的来源;在/data下新建一个test.txt文件,并输入要tcping的所有ip或域名,一行一个,然后执行命令tcping –file /data/test.txt,就会依次tcping文件中指定的地址

    destination,可以是DNS地址、IP地址、URL(需要使用-h,http模式)。使用http模式时,不要加https//或:port,例如:tcping http://www.elifulkerson.com:8080/index.html就会失败,使用tcping www.elifulkerson.com/index.html 8080就会成功

    port 数字,指定tcp端口(1-65535),如果不指定,默认是80

    –header,在头部显示时间和日期,与–tee显示的格式差不多

    –block,tcping不通的等待时间,默认是20秒(很长)。–block可以把-w参数冲突掉 ,例如tcping --block www.baiu.com网址不正确,显然tcpping不通,默认会等待20s 。 tcping -w 0.5 –block www.baiu.com还是会等20s,而不是0.5s,因为–block选项会把-w选项冲突掉。

     

    HTTP模式选项
    –post,在http模式中,使用post方法

    –head,在http模式中,使用head方法

    –get Shorthand to invoke “http” mode for consistency’s sake.

    –proxy-server,指定代理服务

    –proxy-port,指定代理服务端口

    –proxy-credentials username:password,使用代理的安全验证,需要输入用户名和密码

     

    返回值
    如果所有的pings是成功的,返回0;如果所有ping都失败,返回1;混合结果,返回2

    tcping is available at http://www.elifulkerson.com/projects/tcping.php

     

    4. 开放端口和关闭端口
    查看哪些端口被打开
    # netstat -anp

    防火墙关闭端口
    # iptables -A INPUT -p tcp --drop 端口号-j DROP

    # iptables -A OUTPUT -p tcp --dport 端口号-j DROP

    防火墙打开端口
    # iptables -A INPUT -p tcp --dport 端口号-j ACCEPT

    linux打开端口
    // 打开telnet23端口
    # nc -lp 23 &

    // 查看23端口是否打开
    # netstat -an | grep 23

    注意:linux每打开一个端口,都需要有相应的监听程序。

     

    5. 实例
    # tcping -d -h -u -n 10 -i 0.1 -w 0.1 192.168.1.30 6001

    意思:使用http模式(-h),并且在返回数据中显示目标源url地址

    (-u),向主机ip为192.168.1.30的6001端口发送10次数据包

    (-n 10),在返回数据行中显示发送数据包的日期

    (-d),指定每次发送数据包的时间间隔为0.1秒

    (-i 0.1),等待数据包相应的时间间隔为0.1秒

    (-w 0.1) 注:-t和-n同时存在时,优先指定-n,即tcping -t -n 10 192.168.1.30命令只会发送10次数据包,并不是像-t一样持续发送。

     

    转载于:https://www.cnblogs.com/yanfeng-hb/p/10783880.html

    展开全文
  • Python实现端口检测

    2020-04-20 10:50:01
    在平时工作中有遇到端口检测,查看服务端特定端口是否对外开放,常用nmap,tcping,telnet等,同时也可以利用站长工具等web扫描端口等。 但是在使用站长工具发现: 每次只能输入一个检测的地址; 虽然可以输入多个...

    一、背景:

    在平时工作中有遇到端口检测,查看服务端特定端口是否对外开放,常用nmap,tcping,telnet等,同时也可以利用站长工具等web扫描端口等。
    但是在使用站长工具发现:

    • 每次只能输入一个检测的地址;
    • 虽然可以输入多个端口,但是不能指定一个端口范围来进行批量检测;
    • 没有批量任务记录日志等;
      Python实现端口检测

    因避免由于局域网检测发起端网络限制而导致的端口检测异常,未使用python-nmap
    想通过调用站长工具,实现

    • 单次可多个地址或域名检测
    • 单次可指定端口范围,批量检测
    • 记录日志

    二、代码:

    2.1 结构

    2.2 代码

    github地址

    • info.cfg代码
    #address = 8.8.8.8
    address = www.moguyun.com,www.51cto.com,www.anchnet.com
    
    #检查的端口,如多个端口使用,隔开,端口范围使用'-'
    #ports = 80,8080....
    ports = 20-25,80,443,1433,1521,3306,3389,6379,8080,27017
    
    #日志配置
    [loginfo]
    #日志目录
    logdir_name = logdir
    
    #日志文件名称
    logfile_name = check_port.log
    • logger.py代码
    #!/bin/env python
    # -*- coding:utf-8 -*-
    # _auth:kelly
    
    
    import os
    import time
    import logging
    import configparser
    
    class LogHelper():
        """
        初始化logger,读取目录及文件名称
        """
        def __init__(self):
            configoper = configparser.ConfigParser()
            configoper.read('info.cfg',encoding='utf-8')
            self.logdir_name = configoper['loginfo']['logdir_name']
            self.logfile_name = configoper['loginfo']['logfile_name']
    
        def create_dir(self):
            """
            创建目录
            :return: 文件名称
            """
            _LOGDIR = os.path.join(os.path.dirname(__file__), self.logdir_name)
            _TIME = time.strftime('%Y-%m-%d', time.gmtime()) + '-'
            _LOGNAME = _TIME + self.logfile_name
            LOGFILENAME = os.path.join(_LOGDIR, _LOGNAME)
            if not os.path.exists(_LOGDIR):
                os.mkdir(_LOGDIR)
            return LOGFILENAME
    
        def create_logger(self, logfilename):
            """
            创建logger对象
            :param logfilename:
            :return: logger对象
            """
            logger = logging.getLogger()
            logger.setLevel(logging.INFO)
            handler = logging.FileHandler(logfilename)
            handler.setLevel(logging.INFO)
            formater = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
            handler.setFormatter(formater)
            logger.addHandler(handler)
            return logger
    
    • tcp_check_port.py 代码
    #!/bin/env python
    # -*- coding:utf-8 -*-
    # _auth:kaliarch
    
    import requests
    from configparser import ConfigParser
    import re
    
    from tcp_port_check import logger
    
    
    class check_ports():
        def __init__(self,logger):
            """
            初始化,获取配置文件信息
            """
            self.url = 'http://tool.chinaz.com/iframe.ashx?t=port'
            self.headers = {
                'Accept': 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01',
                'Accept-Encoding': 'gzip, deflate',
                'Accept-Language': 'zh-CN,zh;q=0.8',
                'Connection': 'keep-alive',
                'Content-Length': '62',
                'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
                'Host': 'tool.chinaz.com',
                'Origin': 'http://tool.chinaz.com',
                'Referer': 'http://tool.chinaz.com/port/',
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36',
                'X-Requested-With': 'XMLHttpRequest'
            }
            config = ConfigParser()
            config.read('info.cfg',encoding='utf-8')
            self.address_list = config['port_check_info']['address']
            self.port_list = config['port_check_info']['ports']
            #初始化logger
            logger = logger.LogHelper()
            logname = logger.create_dir()
            self.logoper = logger.create_logger(logname)
    
    
        def _get_body(self):
            """
            获取address和port
            :return: list
            """
            address_list = self.address_list.split(',')
            port_list = self.port_list.split(',')
    
            # 处理端口范围,返回range
            range_flag = False
            port_range = None
            content_List_range = []
            for port in port_list:
                if '-' in port:
                    range_flag = True
                    port_range = range(int(port.split('-')[0]),int(port.split('-')[1])+1)
                    port_list.remove(port)
    
            # 处理总体list
            for add in address_list:
                if range_flag:
                    for port in port_range:
                        content_List_range.append(add + ':' + str(port))
    
            # 合并range和普通list
            content_List = [ add+':'+port for add in address_list for port in port_list ]
            content_List_range.extend(content_List)
            return content_List_range
    
        def run(self):
            """
            进行端口检测
            :return:
            """
            for content in self._get_body():
                content_list = content.split(':')
                body = {
                    'host': content_list[0],
                    'port': content_list[1],
                    'encode': 'tlCHS1u3IgF4sC57m6KOP3Oaj1Y1kfLq'
                }
                try:
                    response = requests.post(url=self.url,data=body,headers=self.headers)
                    port_status = re.findall("msg:'(.*?)'", response.text)
                    if len(port_status) > 0:
                        print('%s,port status is:%s' % (content, port_status))
                        self.logoper.info('%s,port status is:%s' % (content, port_status))
                    else:
                        self.logoper.info('%s,port status is:%s' % (content, port_status))
                        print('Occer error!请输入正确的地址和端口')
                except Exception as e:
                    self.logoper.info(e)
    
    
    if __name__ == '__main__':
        check_app = check_ports(logger)
        check_app.run()

    三、测试

    3.1 查看检测结果

    通过日志可以看出蘑菇云和51cto的80和443端口都是放开的

    3.2 查看日志

    四、改进

    • 后期可以添加异步多进程等来提升效率
    • 可以对比多个站点检测结果,使结果更准确
    • 整合nmap内网也可检测
    展开全文
  • 端口侦测检测软件

    2020-07-30 23:30:30
    端口侦测检测软件,检测com端口通讯信息和信号
  • 1、NMAP 简介·一款强大的网络扫描、安全检测工具·可从光盘中安装 nmap-5.51-3.el6.x86_64.rpm2、NMAP 的扫描语法nmap [扫描类型] [选项] <扫描目标>3、常用的扫描类型-sS TCP SYN 扫描(半开)-sT TCP 链接...

    1、NMAP 简介
    ·一款强大的网络扫描、安全检测工具
    ·可从光盘中安装 nmap-5.51-3.el6.x86_64.rpm
    2、NMAP 的扫描语法
    nmap [扫描类型] [选项] <扫描目标>
    3、常用的扫描类型
    -sS TCP SYN 扫描(半开)
    -sT TCP 链接扫描(全开)
    -sF TCP FIN 扫描
    -sU UDP 扫描
    -sP ICMP 扫描
    -s0 跳过 ping 检测【较少使用】
    4、常用选项:
    -n 禁止 DNS 反向解析
    -p 指定端口号

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

    安装:NMAP

    [root@localhost /]# rpm -q nmap
    未安装软件包 nmap
    [root@localhost /]# yum -y install nmap

    示例1:扫描本机开放了哪儿写端口?

    [root@localhost /]# nmap 127.0.0.1

    Starting Nmap 6.40 ( http://nmap.org ) at 2019-08-10 15:32 CST
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000011s latency).
    Not shown: 995 closed ports
    PORT STATE SERVICE
    22/tcp open ssh
    25/tcp open smtp
    111/tcp open rpcbind
    631/tcp open ipp
    6000/tcp open X11

    Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds

    示例2:检测当前192.168.1.0/24网段有哪儿些主机提供FTP服务?

    [root@localhost ~]# nmap -n -p 21 192.168.1.0/24

    示例3:检测192.168.1.0/24网段有哪儿些主机存活?

    [root@localhost ~]# nmap -n -sP 192.168.1.0/24

    示例4:检测192.168.1.100~254/24有哪儿些主机开启了文件共享服务?

    [root@localhost ~]# nmap -n -p 139,445 192.168.1.1.00~254

     

    转载于:https://www.cnblogs.com/cxm123123form/p/11332168.html

    展开全文
  • 端口检测

    2019-08-01 04:50:27
    由于工作需要,需要检测服务器端口是否开启,便编写了如下代码实现(python3): #!/usr/bin/env python#-*-coding:utf-8-*-import osimport multiprocessing#检测ip那些端口是开启的def check_port2(ip,port): ...
  • IP端口检测工具

    千次阅读 2019-01-31 11:14:04
    国外端口检测: https://www.yougetsignal.com/tools/open-ports/ 国内端口检测: http://coolaf.com/tool/port ping检测: https://www.vultrcn.com/goto/?url=aHR0cHM6Ly93d3cuaXBpcC5uZXQvcGluZy5waHA= ...
  • 可以判断出来是端口被封导致的,以前笔者也有遇到过这样的问题,大部分被封端口是因为你的项目违规导致的,如果是正规项目比如正规网站,不能说100%的安全,但是绝大部分是没有问题的。 毕竟之前我也遇到自己或者是...
  • 端口检查是否开放

    2019-05-09 09:17:55
    序 今早上班,老婆说她们楼层的护士长又作妖。孕妇护士服领用申请不签字...正好最近准备研究下网络安全,于是就研究下他们医院的官网,看看是什么鬼,有什么漏洞没有,一般黑客肯定是扫描端口,看端口开放情况。 ...
  • 摘要: ping命令不能检测端口,只能检测你和相应IP是否能连通。 本地虚拟机里安装了一个Ubuntu,使用Putty连接22端口操作时提示失败,于是查看对应端口是否开启。 Windows下要检测远程主机上的某个端口是否开启,...
  • java检测端口号是否被占用

    万次阅读 2014-01-19 21:49:19
    原文地址:... java检测端口号是否被占用的工具类: package com.frank.util; import java.io.IOException; import java.net.InetAddress; import java.net.Socket; import java.net.U
  • Shell脚本 检测端口状态

    万次阅读 2018-09-14 11:43:45
    #!/bin/bash IPADDR=$1 PORT=$2 if [ $# -ne 2 ]; then echo "Usage:" echo " $0 [IPADDR|DOMAIN] [PORT]" echo "" echo "Examples:"... $0 192.168.1.1 .
  • 检测端口还在用telnet?太落伍把 有没有批量检测的方法?有的。我们用nc就可以快速检测端口的开放性。 nc检测端口的用法 nc -z -w 10 %IP% %PORT% -z表示检测或者扫描端口 -w表示超时时间 -u表示使用UDP...
  • 最近偶尔不在家,但又有空想看看项目,放在家中的SVN里。 两个事情:1.端口映射2.动态域名。事情一解决了外网访问的连通性,事情二解决了...端口映射:把外网身份的端口映射致内网IP端口上 2.动态域名: 动态域名
  • 测试udp 端口是否开放

    万次阅读 多人点赞 2013-12-27 12:06:53
    文章概述:怎样测试远程UDP端口,我们一般情况下,应用服务都使用的TCP端口,但是某些情况下,我们也需要开启UDP端口。本文简要描述怎样测试UDP端口是否正常? TCP端口大家都知道,比如80端口,可以使用 telnet ip...
  • H3C网络设备环路检测详细说明及配置

    万次阅读 多人点赞 2018-08-19 23:29:43
    1.为什么要配置环路检测? 网络连接错误或配置错误都容易导致二层网络中出现转发环路,使网络设备对广播、组播报文进行重复发送,这样就会造成网络资源和设备硬件资源的严重浪费,将会造成设备卡顿运维缓慢甚至导致...
  • 我们都知道检测TCP端口是否可通的命令是telnet,在windows和Linux都可以用,但telnet不能检测udp端口,今天给大家介绍的是Linux下 NC命令用于检测UDP端口是否可通。 Telnet 检测TCP端口 [root@apexsoft ~]# telnet ...
  • 在cmd检测端口和服务器的方法

    千次阅读 2017-12-20 10:41:41
    检测端口号是否打开 3.netstat -anp tcp;查看当前主机tcp开放的端口 4.ipconfig 查看当前的服务器ip地址 linux系统下:右键选择 打开终端: 输入ifconfig 查看当前服务器ip地址 /etc/init.d/sshd
  • 检查linux 某端口是否开放

    万次阅读 2018-08-11 10:27:39
    1.windows机器,控制端,输入命令:telnet ip port;例如: telnet 192.168.75.1 3306; 2.linux下,输入:netstat -tnl
  • 检测系统UDP端口是否可用的方法

    千次阅读 2018-09-25 19:59:34
    首先下载nc 的rpm报文进行安装,链接:https://centos.pkgs.org/6/centos-i386/nc-1.84-24.el6.i686.rpm.html 也可以到我的本地资料下载:... 如果你已经安装过,请忽略。安装命令:rpm -ivh nc-1.84-24.el6.i6...
1 2 3 4 5 ... 20
收藏数 269,079
精华内容 107,631
关键字:

端口检测