redis对应端口_redis端口扫描

hacker|
231

如何检测弹性缓存Redis的连通性?

你是想问如何检测redis集群的存活还是只是检测redis主机的连通性?

1、redis集群检查

1)、配置多主多从,哨兵模式。保证集群高可用行

2)检测集群存活,可通过telnet redis端口,进程是否存活

2、主机连通性

1)、 ssh -v -p port username@ip

2)、telnet ip port

3)、curl ip:port

4)、wget ip:port

华为大数据平台如何查看redis集群端口

华为大数据平台redis集群端口

注:ip为安装redis的那台服务器(集群中的其中一台)的ip,password为redis的密码

集群相关信息查看

1.集群状态

redis-cli -h ip -p 9379 -a password cluster info

2.集群节点信息

redis-cli -h ip -p 9379 -a password cluster nodes

3.节点内存、cpu、key数量等信息(每个节点都需查看)

redis-cli -h ip -p 9379 -a password info

3分钟搞定springboot整合redis

不多说直接上代码:

!-- redis --

dependency

groupIdorg.springframework.boot/groupId

artifactIdspring-boot-starter-data-redis/artifactId

exclusions

exclusion

groupIdredis.clients/groupId

artifactIdjedis/artifactId

/exclusion

exclusion

groupIdio.lettuce/groupId

artifactIdlettuce-core/artifactId

/exclusion

/exclusions

/dependency

!-- 添加jedis客户端 --

dependency

groupIdredis.clients/groupId

artifactIdjedis/artifactId

/dependency

!--spring2.0集成redis所需common-pool2--

!-- 必须加上,jedis依赖此 --

dependency

groupIdorg.apache.commons/groupId

artifactIdcommons-pool2/artifactId

version2.5.0/version

/dependency

!-- 将作为Redis对象序列化器 --

dependency

groupIdcom.alibaba/groupId

artifactIdfastjson/artifactId

version1.2.47/version

/dependency

#Matser的ip地址

redis.hostName=172.16.44.148

#端口号

redis.port=6379

#如果有密码

redis.password=

#客户端超时时间单位是毫秒 默认是2000

redis.timeout=10000

#更大空闲数

redis.maxIdle=300

#连接池的更大数据库连接数。设为0表示无限制,如果是jedis 2.4以后用redis.maxTotal

#redis.maxActive=600

#控制一个pool可分配多少个jedis实例,用来替换上面的redis.maxActive,如果是jedis 2.4以后用该属性

redis.maxTotal=1000

#更大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。

redis.maxWaitMillis=1000

#连接的最小空闲时间 默认1800000毫秒(30分钟)

redis.minEvictableIdleTimeMillis=300000

#每次释放连接的更大数目,默认3

redis.numTestsPerEvictionRun=1024

#逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1

redis.timeBetweenEvictionRunsMillis=30000

#是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个

redis.testOnBorrow=true

#在空闲时检查有效性, 默认false

redis.testWhileIdle=true

package com.junsi.demo.config;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.context.annotation.PropertySource;

import org.springframework.data.redis.connection.RedisConnectionFactory;

import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;

import org.springframework.data.redis.core.RedisTemplate;

import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;

import org.springframework.data.redis.serializer.StringRedisSerializer;

import com.junsi.demo.utils.RedisUtil;

import redis.clients.jedis.JedisPoolConfig;

/**

* Redis配置类

* @author pzx

* 2019年6月8日

*/

@Configuration

@PropertySource("classpath:redis.properties")

public class RedisConfig {

@Value("${redis.maxIdle}")

private Integer maxIdle;

@Value("${redis.maxTotal}")

private Integer maxTotal;

@Value("${redis.maxWaitMillis}")

private Integer maxWaitMillis;

@Value("${redis.minEvictableIdleTimeMillis}")

private Integer minEvictableIdleTimeMillis;

@Value("${redis.numTestsPerEvictionRun}")

private Integer numTestsPerEvictionRun;

@Value("${redis.timeBetweenEvictionRunsMillis}")

private long timeBetweenEvictionRunsMillis;

@Value("${redis.testOnBorrow}")

private boolean testOnBorrow;

@Value("${redis.testWhileIdle}")

private boolean testWhileIdle;

@Value("${spring.redis.cluster.nodes}")

private String clusterNodes;

@Value("${spring.redis.cluster.max-redirects}")

private Integer mmaxRedirectsac;

/**

* JedisPoolConfig 连接池

* @return

*/

@Bean

public JedisPoolConfig jedisPoolConfig() {

JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();

// 更大空闲数

jedisPoolConfig.setMaxIdle(maxIdle);

// 连接池的更大数据库连接数

jedisPoolConfig.setMaxTotal(maxTotal);

// 更大建立连接等待时间

jedisPoolConfig.setMaxWaitMillis(maxWaitMillis);

// 逐出连接的最小空闲时间 默认1800000毫秒(30分钟)

jedisPoolConfig.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);

// 每次逐出检查时 逐出的更大数目 如果为负数就是 : 1/abs(n), 默认3

jedisPoolConfig.setNumTestsPerEvictionRun(numTestsPerEvictionRun);

// 逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1

jedisPoolConfig.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);

// 是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个

jedisPoolConfig.setTestOnBorrow(testOnBorrow);

// 在空闲时检查有效性, 默认false

jedisPoolConfig.setTestWhileIdle(testWhileIdle);

return jedisPoolConfig;

}

/**

* @param jedisPoolConfig

* @return

*/

@Bean

public JedisConnectionFactory JedisConnectionFactory(JedisPoolConfig jedisPoolConfig){

JedisConnectionFactory JedisConnectionFactory = new JedisConnectionFactory(jedisPoolConfig);

//连接池

JedisConnectionFactory.setPoolConfig(jedisPoolConfig);

//IP地址

JedisConnectionFactory.setHostName("172.16.44.148");

//端口号

JedisConnectionFactory.setPort(6379);

//如果Redis设置有密码

//JedisConnectionFactory.setPassword(password);

//客户端超时时间单位是毫秒

JedisConnectionFactory.setTimeout(5000);

return JedisConnectionFactory;

}

/**

* 实例化 RedisTemplate 对象

*

* @return

*/

@Bean

public RedisTemplateString, Object functionDomainRedisTemplate(RedisConnectionFactory redisConnectionFactory) {

RedisTemplateString, Object redisTemplate = new RedisTemplate();

initDomainRedisTemplate(redisTemplate, redisConnectionFactory);

return redisTemplate;

}

/**

* 设置数据存入 redis 的序列化方式,并开启事务

*

* @param redisTemplate

* @param factory

*/

private void initDomainRedisTemplate(RedisTemplateString, Object redisTemplate, RedisConnectionFactory factory) {

//如果不配置Serializer,那么存储的时候缺省使用String,如果用User类型存储,那么会提示错误User can't cast to String!

redisTemplate.setKeySerializer(new StringRedisSerializer());

redisTemplate.setHashKeySerializer(new StringRedisSerializer());

redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());

redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());

// 开启事务

redisTemplate.setEnableTransactionSupport(true);

redisTemplate.setConnectionFactory(factory);

}

@Bean(name = "redisUtil")

public RedisUtil redisUtil(RedisTemplateString, Object redisTemplate) {

RedisUtil redisUtil = new RedisUtil();

redisUtil.setRedisTemplate(redisTemplate);

return redisUtil;

}

}

旗鱼云梯Linux端口扫描防护

端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机 *** 服务类型(这些 *** 服务均与端口号相关)。端口扫描是计算机攻击的之一步,攻击者可以通过它了解到从哪里可探寻到攻击弱点。实质上,端口扫描包括向每个端口发送消息,一次只发送一个消息。接收到的回应类型表示是否在使用该端口并且可由此探寻弱点。

在Linux上每个通过 *** 访问的程序都要监听一个端口,并通过此端口去访问。比如常用的端口: 22,80,443,3306,6379分别对应的是ssh服务,http服务,https服务,mysql服务,redis服务的默认端口。比如我们访问旗鱼云梯的网站 其实访问的是 或者 443. 比如MySQL开放远程权限允许远程访问的话,那么我们将通过ip:3306去访问mysql服务,redis同样如此 通过ip:6379访问redis服务。如果密码设置简单的话几下就被爆破了,mysql密码设置为123456,一下就爆破了。。。

对于常用服务除了80,443以外非常建议修改默认端口号,

说这么多,那跟端口扫描有什么关系呢?

当我们把SSH默认端口22修改为其他端口比如23456端口, 那么黑客想要继续对我服务器进行SSH爆破那怎么办呢?

演示的我就直接指定端口扫描了,不然扫描全端口扫描太慢了。黑客一般用的都是端口扫描工具进行全端口扫描。

旗鱼云梯根据客户反馈和需求,推出端口防扫描安全防护,自动检测非法端口扫描IP,超过阈值自动封禁,从源头加固主机安全。保护服务器不受端口扫描的危害,坚守之一道防线。

fscan:一键自动化、全方位漏洞扫描的开源工具

fscan 是一个内网综合扫描工具,方便一键自动化、全方位漏洞扫描。

它支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。

源码链接:

1.信息搜集:

2.爆破功能:

3.系统信息、漏洞扫描:

4.Web探测功能:

5.漏洞利用:

6.其他功能:

简单用法

其他用法

编译命令

完整参数

这个项目的开发者参考的开源项目有这些:

0条大神的评论

发表评论