协程数量导致的端口扫描问题
问题描述:
在编写一个端口扫描器时,使用sync.waitgroup限制协程数量,但在设置协程数量过高时,扫描出的端口数量与预期不符。
解决方法:
这个问题并不是 go 代码本身的问题,而是 linux 系统的限制造成的。 linux 默认允许同时打开的文件数为 1024,这就会导致当创建的协程数量超过该限制时,端口扫描会失败。
要解决这个问题,需要修改linux 的配置限制:
- ulimit -SHn 10000
登录后复制
需要注意的是:
降低协程数量:不一定越多越好,需要根据实际情况调整。 修改 linux 配置:需要具有 root 权限,且修改后可能会影响其他程序。
以上就是协程数量过多导致端口扫描失败,如何解决?的详细内容,更多请关注【创想鸟】其它相关文章!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。