FIN扫描则是利用TCP FIN数据包来探测目标主机上的端口是否处于开放状态。 ttl': 64, 'proto': 1, 'chksum': 37175, 'src': '192.168.1.1', 'dst': '192.168.1.101'} 上述流程就是一个简单的ICMP的探测过程 该函数只需要传入一个IP地址即可返回特定地址是否在线,同时我们使用ipaddress.ip_network则可生成一整个C段中的地址信息,并配合threading启用多线程,则可实现一个简单的主机存活探测工具 全连接扫描需要客户端与服务器之间直接建立一次完整的握手,该方式扫描速度慢效率低,我们需要使用Scapy构造完整的全连接来实现一次探测,在使用该工具包时读者应该注意工具包针对flags所代指的标识符RA/ 如果服务器返回了一个ICMP目标不可达的错误和代码3,则意味着目标端口处于关闭状态。 如果服务器返回一个ICMP错误类型3且代码为1,2,3,9,10或13的数据包,则说明目标端口被服务器过滤了。
Linux有nmap命令可以实现UDP端口探测的问题,Java代码无法实现。 /bin/bash host=$1 port=$2 #nmap端口扫描命令示例 # nmap -sU www.baidu.com -p 54880-54889 # nmap -sU www.baidu.com awk '{print $2}') if [ "$result" == "open|filtered" ]; then echo "1" else echo "0" fi 返回1代表正常,0代表端口关闭 /udpKeepAlive.sh www.baidu.com 80 本脚本尚未支持多端口扫描,我是基于单个(动态:给予脚本入参实现)探索UDP端口的是否开放的。 如果只是一个端口的信息正常返回,且返回1、0就能很轻松处理脚本执行结果,这才是我的初衷!
FIN扫描则是利用TCP FIN数据包来探测目标主机上的端口是否处于开放状态。 ttl': 64, 'proto': 1, 'chksum': 37175, 'src': '192.168.1.1', 'dst': '192.168.1.101'}上述流程就是一个简单的ICMP的探测过程 该函数只需要传入一个IP地址即可返回特定地址是否在线,同时我们使用ipaddress.ip_network则可生成一整个C段中的地址信息,并配合threading启用多线程,则可实现一个简单的主机存活探测工具 全连接扫描需要客户端与服务器之间直接建立一次完整的握手,该方式扫描速度慢效率低,我们需要使用Scapy构造完整的全连接来实现一次探测,在使用该工具包时读者应该注意工具包针对flags所代指的标识符RA/ 如果服务器返回了一个ICMP目标不可达的错误和代码3,则意味着目标端口处于关闭状态。如果服务器返回一个ICMP错误类型3且代码为1,2,3,9,10或13的数据包,则说明目标端口被服务器过滤了。
Windows和Linux常用TCP端口探测工具总结 一、Windows常用TCP端口探测工具 1、TCPing https://www.elifulkerson.com/projects/tcping.php psping64 --help查看用法 psping64 www.baidu.com:443 psping64 -t www.baidu.com:443 (图片可点击放大查看) 二、Linux下TCP端口探测 ,可以看到客户端和服务端正常完成握手 nping --tcp-connect -p 8122 192.168.31.1 如果是非开放端口,则收到的显示是这样的 nping --tcp-connect 22 192.168.31.1 (图片可点击放大查看) nping具体用法可以参考该篇文章 https://cloud.tencent.com/developer/article/1898452 3、 (图片可点击放大查看) Nmap命令的总结可以参考如下链接 https://cloud.tencent.com/developer/article/1953641 三、总结 Linux常用TCP端口探测的方法还有很多
linux centos7 测试端口的连通性, 分别测试TCP端口与UDP端口; 1、这个需要Linux服务器里边支持nc命令,检查NC 是否安装? nc 图片.png 2、安装nc yum install nc -y 3、探测端口 nc -u -z -w 1 IP地址 端口 错误信息如下: 图片.png nc -w 1 IP地址 端口 < 但CentOS7新版的nc命令已取消了-z, 需输入重定向 < /dev/null 才能成功; 图片.png 5、探测 udp: 通过 nc -h 可以看出,只需要加个 -u 即可。 nc -u -w 1 IP地址 端口 < /dev/null && echo "udp port ok" 图片.png
思路很简单,将masscan在端口探测的高速和nmap服务探测的准确性结合起来,达到一种相对比较理想的效果。 先使用masscan以较高速率对ip存活端口进行探测,再以多进程的方式,使用nmap对开放的端口进行服务探测。 依赖说明 本脚本依赖masscan 、nmap和python-nmap库。 pip3 install python-nmap -i https://pypi.douban.com/simple/ 项目文件说明 简要文件说明如下: masnmap.py: masscan + nmap 结合快速端口存活和服务探测脚本; ips.txt: 需探测的ip地址列表,每行一个ip地址; services.txt: 保存探测的结果,以”序号:ip:端口:服务名” 检测脚本 https://github.com 扫描测试说明 对8930个ip地址进行探测,共探测出231687个开放端口及进行服务探测。
closed :关闭的端口对于nmap也是可访问的, 它接收nmap探测报文并作出响应。但没有应用程序在其上监听。filtered :由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。 open | filtered :无法确定端口是开放还是被过滤, 开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。 这些扫描方式的理论依据是:关闭的端口需要对你的探测包回应 RST 包,而打开的端口必需忽略有问题的包(参考 RFC 793 第 64 页)。 图片2.4 -sP 扫描IP地址范围可以指定一个IP地址范围,扫描存活主机nmap -sP 192.168.56.1-102.5 -PS 探测开放端口(SYN)探测目标主机开放的端口,可指定一个以逗号分隔的端口列表 图片2.6 -PU 探测开放端口(UDP)探测:开放端口、MAC地址探测目标主机开放的端口,可指定一个以逗号分隔的端口列表(如-PS22,443,80)nmap -PU 192.168.56.7图片2.7
地址 https://github.com/MS-WEB-BN/t14m4t 我已经更新到咱们的码云了 码云地址 https://gitee.com/dasssa/t14m4t
主要有iPerf2和iPerf3两个版本,2与3不兼容(Android的iPerf3的程序测试网络时会自动兼容iPerf2程序,iOS不会自动兼容)。 运行成功或失败都会在下放打印输出,如图右一为开启server成功,服务端ip:10.25.208.115,监听端口5201 下载地址:https://download.csdn.net/download ,端口5201 当客户端发起连接后显示如下 iOS使用方法 1、AppStore中搜索“ HE.NET Network Tools”,开发者 Hurricane Electric 2、安装成功后点击左上角菜单栏选择 3、翻转数据流方向 –R (数据默认从客户端发向服务端) iperf3 –c “服务端IP地址” –R 例:iperf3 –c 10.13.96.20 –R (数据从服务端发向客户端) 4、测试时长 –t iperf3 –c “服务端IP地址” –t time 例:iperf3 –c 10.13.96.20 –t 5 (测试5S,默认测试10秒) 5、线程数 –P iperf3 –c “服务端
后渗透阶段之基于MSF的内网主机探测(存活、端口、服务) 目录 主机存活探测 端口扫描 服务探测 当我们通过代理可以进入某内网,需要对内网主机的服务进行探测。 或者是在MSF里面添加0.0.0.0/24的路由,这样,只要被控主机可以到达的地址,我们也就可以探测! /scanner/portscan/ack #基于tcp的ack回复进行端口扫描,默认扫描1-10000端口 3 服务探测 auxiliary/scanner/ftp/ftp_version #探测内网http服务的标题 auxiliary/scanner/smb/smb_version #发现内网smb服务,基于默认的445端口 use auxiliary/scanner 服务,基于默认6379端口 auxiliary/scanner/db2/db2_version #探测内网的db2服务,基于默认的50000端口 auxiliary/scanner/netbios
pycurl模块支持 如果是在Windows的pycharm上运行,需要使用pip install pycurl命令安装pycurl模块;如果要在Linux环境上运行,需要先把python2换成python3( python2换python3方法可以在我之前的文章里参考) pycharm安装pycurl 打开点部的Terminal然后使用pip install pycurl命令安装,下图是我已经安装好的, 3.源码 点击web服务质量探测py3.py
探测路由 在进行网络探测之前,我们一般要先了解一下整个网络链路从源IP到目的IP的路由跳数。在 Windows和 Linux下使用的命令略有区别,不过原理都是一样的。 还可以通过它来探测丢包率。 sudo mtr IP 数据包压力测试 可以通过 iperf3/iperf进行压力测试,具体指令如下: 服务端 iperf3 -s / iperf -u -s -i 1 -s : 指定为服务端 -u : 指定使用 UDP 协议 客户端 iperf3 -c ip -u -b 50M -t 60 -i 1 -R -c : 指定要连接的服务端IP地址。
H3C Comware Version5.20 是不支持一次选择多个端口的(已通过H3C 400电话确认)一个个敲太麻烦我们可以通过复制脚本的方式快速将接口配置为bridge。 interfaceGigabitEthernet 1/0/2 port link-typeaccess port bridge enable quit interfaceGigabitEthernet 1/0/3
这时配置vlan 2 打上tag,vlan 3 不打tag [SW1-E0/1]port hybrid vlan 2 tagged [SW1-E0/1]port hybrid vlan 3 untagged 在交换机SW2上e0/0 e0/1、SW3上e0/0进行相同的设置 [SW1]dis int e0/1 ....... PVID :1 Port link-type :hybrid Tagged vlan id :2 Untagged vlan id :1,3 ....... 结果:vlan 2的可以通信 Vlan 3的不行 因为SW2在收到vlan3没有带tag的帧时会认为这个帧属于vlan1 (PVID 为1),如果vlan 3要通信则要把pvid 改为3 小结:Hybrid端口是介于access端口和trunk端口之间的一种端口属性,通过hybrid端口的设置可以配置部分vlan的帧打上vlan标记,部分vlan 的帧不打,如果把所有的vlan
处理冲突的方法: 开放寻址法:Hi=(H(key) + di) MOD m, i=1,2,…, k(k<=m-1),其中H(key)为散列函数,m为散列表长,di为增量序列,可有下列三种取法: 1.di=1,2,3, …, m-1,称线性探测再散列; 2.di=1^2, -1^2, 2^2,-2^2, 3^2, …, ±(k)^2,(k<=m/2)称二次探测再散列; 3.di=伪随机数序列,称伪随机探测再散列。
04:错误探测 总时间限制: 1000ms 内存限制: 65536kB描述 给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。 样例输入 样例输入1 4 1 0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 样例输入2 4 1 0 1 0 0 0 1 0 1 1 1 1 0 1 0 1 样例输入3 4 1 0 1 0 0 1 1 0 1 1 1 1 0 1 0 1 样例输出 样例输出1 OK 样例输出2 2 3 样例输出3 Corrupt 来源6423 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 int a[1001][1001]; 6 int ouhang
端口安全的主要功能是通过定义各种端口安全模式,让设备学习到合法的源MAC地址,以达到相应的网络管理效果。 启动了端口安全功能之后,当发现非法报文时,系统将触发相应特性,并按照预先指定的方式进行处理,既方便用户的管理又提高了系统的安全性。 这里我们来介绍H3C设备的一些配置问题。 1、端口隔离技术。 端口隔离是为了实现报文之间的二层隔离,可以将不同的端口加入不同的VLAN,但会浪费有限的VLAN资源。采用端口隔离特性,可以实现同一VLAN内端口之间的隔离。 用户只需要将端口加入到隔离组中,就可以实现隔离组内端口之间二层数据的隔离。端口隔离功能为用户提供了更安全、更灵活的组网方案。 ? ? 2、交换机的端口绑定,就是把交换机的某一个端口和下面所连接的电脑的MAC地址与ip绑定,这样即使有别的电脑偷偷的连接到这个端口上也是不能使用的.增加了安全性。 ? ?
Fastjson探测作用 在渗透测试中遇到json数据一般都会测试下有没有反序列化,然而JSON库有Fastjson,JackJson,Gson等等,那么怎么判断后端不是Fastjson呢? 可以构造特定的payload来进行探测分析,下面介绍一些常用的payload,且这些Payload可以在AutoType关闭的情况下进行测试~~~ Fastjson探测方法 方法一:java.net.Inet4Address 畸形方式3 Set[{"@type":"java.net.URL","val":"http://dnslog"} 请求方式: ? DNSLog响应: ?
/bin/python3 import os # from portServer import * # 可以将下面 samba 等定义的端口函数,存放在 portServer.py 和其他需要手动操作关闭的动作 # 2.打开文件,模式w写,覆盖 和 不存在就新建文件; 3. 例如: 0 1 2 3 (输入 '666' 选择所有服务)") vpn_str_input = input("输入: ").strip() # 接收输入参数 {service_name} 是源端口和目标绑定端口,分类进入 createSouceDestPort 生成") # createSouceDestPort() {service_name} 是源端口和目标绑定端口,分类进入 createSouceDestPort 生成") createSouceDestPort() else
端口汇聚 –手工汇聚 端口汇聚分为手工汇聚、动态LACP汇聚和静态LACP汇聚。 在端口汇聚中,H3C这些端口汇聚方式都可以与思科的port-channel进行对接。 手工汇聚: H3C交换机中的配置: link-aggregation group 10 mode manual interface GigabitEthernet1/0/1 port link-aggregation mode on interface GigabitEthernet1/0/2 channel-group 1 mode 1 mode on Interface port-channel 1 端口汇聚 –LACP汇聚 静态LACP汇聚: H3C交换机中的配置: link-aggregation group 10 mode static interface GigabitEthernet1/0