lcvvvv / gonmap Goto Github PK
View Code? Open in Web Editor NEWgonmap是一个go语言的nmap端口扫描库,使用纯go实现nmap的扫描逻辑,而非调用nmap来进行扫描。
gonmap是一个go语言的nmap端口扫描库,使用纯go实现nmap的扫描逻辑,而非调用nmap来进行扫描。
不给许可证,使用起来太懵逼了,不太敢用。
师傅,gonmap_test.go中的例子可以完善下吗,比如如何单独调用TestPortscan等,感谢
Hi there, I wonder if there is a way to run lua scripts of nmap with GoNmap
Is there anyway ?
用了一段时间 gonmap在并发上 是有问题的 原因不详
还有端口+服务+指纹的一体化优秀扫描
kscan中fingerprint.txt有大量的优秀指纹库
如果可以
open/filter/closed 443 https apache2 2.4.7 wordpress
会更加的优秀和强大
希望大佬在重构的时候 可以考虑一下
逻辑问题,导致UDP端口无法扫描
type-nmap.go
func (n *Nmap) Scan(ip string, port int) (status Status, response *Response) {
var probeNames ProbeList
if n.bypassAllProbePort.exist(port) == true {
probeNames = append(n.portProbeMap[port], n.allProbeMap...)
} else {
probeNames = append(n.allProbeMap, n.portProbeMap[port]...)
}
probeNames = append(probeNames, n.sslProbeMap...)
//探针去重
probeNames = probeNames.removeDuplicate()
firstProbe := probeNames[0]
status, response = n.getRealResponse(ip, port, n.timeout, firstProbe) //如果目标为UDP端口这里就直接退出函数了
if status == Closed || status == Matched {
return status, response
}
otherProbes := probeNames[1:]
return n.getRealResponse(ip, port, 2*time.Second, otherProbes...)
}
如果目标端口为UDP端口,该函数首次使用TCP协议连接会返回closed,导致无法准确识别端口
在func (n *Nmap) getResponseByProbes(host string, port int, timeout time.Duration, probes ...string) (status Status, response *Response)
函数中也有相似问题,目标端口如果是TCP端口,但是做循环的时候如果遇到requestName为UDP_*
这类的规则,也会由于TCP端口无法使用UDP协议连接导致判断为close退出函数。
可不可以TCP和UDP分开扫
How can I update this file based on latest version ?
https://raw.githubusercontent.com/nmap/nmap/master/nmap-service-probes
如何根据最新版本更新此文件?
https://raw.githubusercontent.com/nmap/nmap/master/nmap-service-probes
./gonmap.go:69:15: undefined: port
./gonmap.go:70:26: undefined: probe
./gonmap.go:76:9: undefined: target
./gonmap.go:79:11: undefined: response
./gonmap.go:80:12: undefined: TcpFinger
./gonmap.go:83:42: undefined: TcpBanner
./gonmap.go:139:32: undefined: probe
./gonmap.go:139:46: undefined: target
./gonmap.go:139:65: undefined: TcpBanner
./gonmap.go:233:59: undefined: TcpFinger
./gonmap.go:233:59: too many errors
看了一下,指纹都是写死的,并不是一些配置文件,端口也不一定是指纹当中的服务
我的想法是 先用快速扫描扫描主机端口,比如半开放扫描 只发送握手包之类的,去判定一个端口有没有开放,只有扫描到端口开放了,才建立完整链接,然后把响应报文送到指纹匹配的模块当中
nmap很多指纹都是用的外部的配置文件配置的,还有比如用于HTTP指纹的wappalyzer 也有一堆指纹,这些都可以进行用来配置扫描器的
How can I make it to print the banner that it will retrieve from target?
请教 如何编译一个可用的GoNmap,想作为一个单独的nmap端口扫描替代品使用
作者你好,是否可以在release中存放已经编译好的各平台的二进制,或者在readme中新增编译说明>?
不该给个说明文档吗 上手很懵啊 项目可以
一年没更新了
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.