前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >全端口监控的实现

全端口监控的实现

作者头像
用户1423082
发布于 2024-12-31 10:35:47
发布于 2024-12-31 10:35:47
10000
代码可运行
举报
文章被收录于专栏:giantbranch's bloggiantbranch's blog
运行总次数:0
代码可运行

方式1

一个是通过抓包,一旦收到SYN,就回复一个SYN ACK 但是这个需要iptables将出去的RST ACK包给拦截掉

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2018-07-23 14:50:27
# @Author  : giantbranch (giantbranch@gmail.com)
# @Link    : http://www.giantbranch.cn/
# @tags : 

from scapy.all import *

SSH_PORT = 22

# 定义数据包回调函数
def packet_callback(packet):
    # print packet.show()
    if TCP in packet:
        if packet["TCP"].dport == SSH_PORT or packet["TCP"].sport == SSH_PORT:
            return
        # SYN packet
        # 如果我们接收到一个SYN包,则我们构造一个SYN ACK包返回去。
        if packet["TCP"].flags == 0x02:
            # print "receive SYN packet"
            ip = IP(dst=packet["IP"].src, src=packet["IP"].dst)
            tcp = TCP(sport=packet["TCP"].dport, dport=packet["TCP"].sport)
            # syn ack flags
            tcp.flags = 0x012
            tcp.ack = packet["TCP"].seq + 1
            send(ip/tcp)
        # FIN ACK packet 
        # 如果我们接收到一个FIN ACK包,我们则返回一个ACK包。否则他会重传。
        elif packet["TCP"].flags == 0x011:
            # print "receive SYN packet"
            ip = IP(dst=packet["IP"].src, src=packet["IP"].dst)
            tcp = TCP(sport=packet["TCP"].dport, dport=packet["TCP"].sport)
            # ack flags
            tcp.seq = packet["TCP"].ack
            tcp.ack = packet["TCP"].seq + 1
            send(ip/tcp)
        # PSH ACK packet
        elif packet["TCP"].flags == 0x018:  
            # print "receive PSH ACK packet"
            if packet.haslayer("Raw"):
                print "payload is:\n"
                print packet["Raw"]
        else:
            print "tcp flags is : %s" % packet["TCP"].flags
    elif UDP in packet:
        pass
        # print "this is a udp packet"
    else:
        pass

sniff(prn=packet_callback, store=0)

iptables

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
iptables -A OUTPUT -p tcp --tcp-flags ALL RST,ACK -j DROP

那这样nmap扫描的时候就会以为端口都开放了

方式2

通过iptables直接做一个全端口转发,转发到你自己写的程序的端口即可

If you want to redirect all TCP and UDP traffic to Blackhole use the following command:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo iptables -t nat -A PREROUTING -p tcp --dport 1:65535 -j REDIRECT --to-ports 5000
sudo iptables -t nat -A PREROUTING -p udp --dport 1:65535 -j REDIRECT --to-ports 5000

Suppose you have other services running on the Host e.g. 22, 445 and you don’t want to capture them via Blackhole,you can create multiple iptables rules:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo iptables -t nat -A PREROUTING -p tcp --dport 1:21 -j REDIRECT --to-ports 5000
sudo iptables -t nat -A PREROUTING -p tcp --dport 23:444 -j REDIRECT --to-ports 5000
sudo iptables -t nat -A PREROUTING -p tcp --dport 446:65535 -j REDIRECT --to-ports 5000

优缺点

抓包方式 优点: 1、实现简单 缺点: 1、有些vps,不支持伪造发送syn,ack 2、难以写交互

全端口转发到一个端口 优点: 1、真正伪造了全端口开放的假象 2、便于写对应的交互 缺点: 1、有时候获取不到目的端口 2、无其他明显的缺点

获取到的payload是空的,有可能这个端口或者协议是服务器先发送信息的

Reference

http://www.secniu.com/%E5%8D%81%E8%A1%8C%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0%E7%BD%91%E7%BB%9C%E7%9A%84%E5%85%A8%E7%AB%AF%E5%8F%A3%E7%9B%91%E5%90%AC/ https://github.com/dudeintheshell/blackhole

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python数值方法在工程和科学问题解决中的应用
随着计算机技术的不断发展,Python作为一种强大且灵活的编程语言,在解决工程和科学问题时发挥着越来越重要的作用。本文将探讨Python数值方法在工程和科学领域的广泛应用,介绍其在数值计算、数据分析、模拟建模等方面的优势和实际应用。
阿珍
2025/04/24
530
Python数值方法在工程和科学问题解决中的应用
R语言、Python、云平台!生信分析的过去、现在和未来
在组学数据分析领域,R语言和Python各有千秋,而生信云平台则为研究提供了前所未有的可能性。那么,哪种工具更适合你的科研需求呢?
用户11203141
2025/03/06
1000
R语言、Python、云平台!生信分析的过去、现在和未来
生信分析流程构建的几大流派
构建生信分析流程是生物信息学从业人员必备的技能之一,对该项能力的评估常常是各大公司招录人员的参考项目之一。
生信技能树
2018/12/18
4.9K0
生信分析流程构建的几大流派
扎克伯格背刺基于R语言的Seurat单细胞生态
CELLxGENE 在线平台上面的单细胞转录组数据集整理的非常规范,比如:https://cellxgene.cziscience.com/collections/3f7c572c-cd73-4b51-a313-207c7f20f188
生信技能树
2024/11/21
1730
扎克伯格背刺基于R语言的Seurat单细胞生态
送给你一份《生信入门指南》
生信的作用越来越大,想学的人越来越多,不管是为了以后发展,还是为了解决眼下的问题。但生信学习不是一朝一夕就可以完成的事情,也许你可以很短时间学会一个交互式软件的操作,却不能看完程序教学视频后就直接写程序。也许你可以跟着一个测序分析流程完成操作,但不懂得背后的原理,不知道什么参数需要修改,结果可以出来,却把握不住对还是错。
科研菌
2020/07/15
2.4K0
送给你一份《生信入门指南》
推荐5个分享 R语言 学习笔记干货 的公众号
R语言的学习途径主要有几个:一个是R语言书籍;一个是R帮助文档;还有就是R视频和一些干货教程了。越来越多的R学习者开始在网上分享自己的学习笔记,有的人会搭建自己的博客平台,有的人会使用现成的平台,其中最常用的就是公众号了。今天的推文我就分享5个我平时会经常看的,分享R语言学习笔记干货的公众号。
庄闪闪
2021/04/26
2.1K0
生信入门第1课
我写公众号的最初目的就是督促自己学习,分享一些教程,和专门搞生信的大佬们比起来,自己也就是菜鸟一枚,公众号更新也比较佛系,也不做推广,你能自行关注到,完全靠缘分。我就是分享一些生信基础的生信分析技能,以满足大家在科研工作中的生信需求。说实话,大家需要给你自己以定位,自己做纯生信的还是只是借助生信为大家在湿实验中提供思路,或者文章中添加一些生信内容。如果你是做纯生信,那也是分档次和研究方向的,如果只是分析别人的数据,比如预后模型这种,属于比较低端的水平。有的做开发,比如开发一个R包或者一些其他生信分析工具,又或者是建数据库,这些属于开发类。另外,这个也和研究领域有很大关系,植物的,人的,微生物的,是有区别的,当然,很多基础工具都差不多,但需要相关的知识背景。我自己主要是做药,癌症,所以我会的技能主要和自己研究方向相关的,我也不是什么都掌握,因为我觉得,具备基础知识储备后,自己用到什么就去现学现卖,而不是一下子学会很多东西等着以后用,我个人认为这是效率极其低下的。
DoubleHelix
2022/06/13
8730
生信入门第1课
生信初学者教程(癌症转录组学):手把手教你如何发生信文章
生信初学者教程(癌症转录组学) : https://bioinformatic-learner.github.io/BCT-page/ 提供了预览版本。
生信学习者
2024/07/30
1391
生信初学者教程(癌症转录组学):手把手教你如何发生信文章
Rstudio:强大的R语言集成开发环境(IDE)
如果你在生物信息学或统计学领域工作,R语言几乎是必备的工具之一。而RStudio,作为R语言最流行的集成开发环境(IDE),为数据分析、可视化和编程提供了非常友好的平台。今天我们来介绍一下RStudio,特别是它在生物信息学中的作用。
简说基因
2024/12/23
3730
Rstudio:强大的R语言集成开发环境(IDE)
单细胞转录组数据分析的10大软件/流程
单细胞数据分析现在已经有上千个软件工具可供使用了,这为用户带来便利的同时也造成了选择困难。就像时间一样,一个表,没问题,但如果有两个表,时间还不一样,该信谁的呢?
简说基因
2024/12/29
2720
单细胞转录组数据分析的10大软件/流程
生信分析人员如何系统入门R(2019更新版)
现在回过头来看,很多教程已然过时,当然并不是说的知识点过时,其实linux基本上几十年都没有怎么变动过基础知识的,哪怕你现在搜索到十几年前的linux教学视频,也不会觉得尴尬。主要是其中一些资源链接,一些小技巧都过时了,比如R语言安装包,需求切换适合的镜像,或者某些配套书籍课程的URL肯定也会成为死链啦,所以非常有必要系统性整理一下,最新生信分析人员如何系统入门R
生信技能树
2019/09/17
2.7K0
生信分析人员如何系统入门R(2019更新版)
每月一生信流程之RNAseq123
全部bioconductor流程链接在;http://www.bioconductor.org/packages/release/BiocViews.html#___GeneExpressionWorkflow
生信技能树
2019/11/06
1.1K0
每月一生信流程之RNAseq123
生信分析的本手妙手俗手
对于初学者而言,应该从本手开始,本手的功夫扎实了,棋力才会提高。一些初学者热衷于追求妙手,而忽视更为常用的本手。本手是基础,妙手是创造。一般来说,对本手理解深刻,才可能出现妙手;否则,难免下出俗手,水平也不易提升。
生信技能树
2022/07/26
6950
生信分析的本手妙手俗手
生信技巧第3课-请你务必学好R语言
长期更新列表: 视频讲解-R爬取生信软件列表到思维导图 生信技巧第二课-使用markdown记录和分享笔记 本期视频,学会R语言,方便你我他~~~ 为什么需要学习R语言呢? 可能是想画一个热图 或
生信技能树
2018/07/27
1.1K0
从 R 绘图入门看 R 语言学习方法论
因为一些网络素材引用不规范,我们的这个笔记被网络吞掉了一次。很多朋友在公众号后台催更,还好鲍志炜抽空抢救回来了,不负大家的等待。
生信技能树
2022/06/08
9430
从 R 绘图入门看 R 语言学习方法论
聊一聊生信云(计算)
生信云(计算)作为生物信息学发展的产物,它在生物信息学整个学科发展中起到了举足轻重的作用。生物信息学领域科研人员日常进行的数据分析工作已经和生信云紧紧联系在一起。在可以预见的几十年内,生信云将会成为云计算领域中消耗资源最多、影响力最大的方向之一。
生信技能树
2018/12/18
2.1K0
聊一聊生信云(计算)
面对多源生物信息学数据,怎样实现数据的可视化与灵活配置?
MultiQC 是一个多用途的生物信息学分析工具,它能够将多个样本的生物信息学分析结果汇总到一个综合报告中。这个工具特别适合用于高通量测序(NGS)数据分析的质量控制和结果汇总。通过扫描指定目录中的日志文件,MultiQC 可以自动识别并解析各种生物信息学工具的输出文件,生成一个包含交互式图表和详细统计信息的 HTML 报告。
简说基因
2025/01/19
1820
面对多源生物信息学数据,怎样实现数据的可视化与灵活配置?
生信零基础也能做转录组差异表达分析
DESeq2是一款基于R语言的差异表达分析软件包,它专门用于分析RNA-seq数据中的差异表达基因。DESeq2是Bioconductor项目的一部分,提供了强大的统计方法和功能,能够帮助科研人员准确检测基因在不同条件下的表达差异,并找出具有生物学意义的差异表达基因。
简说基因
2025/01/10
2460
生信零基础也能做转录组差异表达分析
生信爱好者周刊(第 46 期):你的苹果M系列芯片电脑跑生信顺利么?
本杂志开源(GitHub: ShixiangWang/weekly[1]),欢迎提交 issue,投稿或推荐生信相关内容。
王诗翔呀
2022/12/30
1.6K0
生信爱好者周刊(第 46 期):你的苹果M系列芯片电脑跑生信顺利么?
RSeQC:RNA测序质量控制的利器
在RNA测序(RNA-Seq)数据分析中,数据质量的好坏会直接影响最终结果。如何有效地评估RNA-Seq数据的质量?RSeQC 就是专门为这个目的设计的工具,帮助我们识别数据中的潜在问题,确保后续分析更加可靠。
简说基因
2024/12/23
1740
RSeQC:RNA测序质量控制的利器
推荐阅读
相关推荐
Python数值方法在工程和科学问题解决中的应用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验