Code Monkey home page Code Monkey logo

openvas-golang-lib's Introduction

openvas-golang-lib

A golang library to connect and manage the OpenVAS servers using the OMP protocol.Currently I develop it with OpenVAS 7.

install

to install and use the lib,use

go get -u github.com/qzyse2017/openvas-golang-lib

to get the latest code,you may find the commit ID on master branch and copy it to command line, use

go get -u github.com/qzyse2017/openvas-golang-lib@[latest-commit-id-here]

go mod tidy

supported API

currently it only supports task and target related API. And I will update it occasionally according to my needs.

examples

a simple example(still empty now, please refer to the uint tests in the current repo

issues

I may not respond immediately sometimes, you may mention me with @qzyse2017 in your comment and I will recieve a notification email from github

Contributions

PRs welcome!!!!!!❤️❤️❤️❤️❤️❤️

How to contribute

basically I generate most of the commands related structs from xml example in openvas's omp docs. The tool is zek, and it has a handy online version you could use. The generated results may need some fixes, such as "omitempty" in json attribute.

and if you would like to add some new commands or fix some, I would appreciate it a lot.

following the conventions, you may need to extract some structs which show the meaningful entities in the command and use its pointer as an argument to call the commands related function.e.g. Target and CreateTarget

License

MIT

openvas-golang-lib's People

Contributors

prism4time avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

russ168 zjj 0x0bca

openvas-golang-lib's Issues

CreateTask target

Hi,

How does one create a scanning task? After creating a task, one receives a scan id string.
But the method expects an openvas.Target?

	taskId, err = omp.CreateTask(&openvas.Task{
		Text:    target.Text,
		ID:      target.ID,
		Name:    target.ID,
		Comment: target.Name,
		Config:  &config,
		Target:  &openvas.Target{
			Text:         target.Text,
			ID:           target.ID,
			Name:         target.Name,
			Hosts:        []string{target.Hosts},
			ExcludeHosts: nil,
		},
	})

Protocol 8

Hi, GVM 10 & 11 use Protocol version 8 which is not supported by this library.
Would it be possible to reproduce?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.