|
|
### 1. Consultas e submissões ao servidor CIF utilizando API java.
|
|
|
|
|
|
A API java foi desenvolvida para facilitar a comunicação com o servidor CIF V1, foi implementada utilizando o recurso de integração WEB API do framework. Utilizando a API é possível fazer consultas aos feeds e também consultas de URLs e endereços IP específicos. Ainda utilizando a API é possível fazer submissões de dados sobre ameaças ao servidor.
|
|
|
|
|
|
#### 1.1 Exemplo de consulta simples utilizando API
|
|
|
|
|
|
```
|
|
|
|
|
|
/* *
|
|
|
* Instância um cliente para comunicação
|
|
|
* @param URL/IP servidor CIF
|
|
|
* @param APIKEY gerada no servidor CIF para o cliente
|
|
|
*
|
|
|
* */
|
|
|
|
|
|
CifClientManager cifClientManager= new CifClientManager("192.168.1.37", "ca673b16-a055-44a3-b73e-f8676d11b3f0");
|
|
|
|
|
|
/* *
|
|
|
* Retorna um conjunto de dados sobre feeds ligados a Malware
|
|
|
* Cada tipo de ameaça possui um método que retorna a categoria
|
|
|
* */
|
|
|
|
|
|
String json1 = cifClientManager.queryForInfraestructureMalware();
|
|
|
|
|
|
|
|
|
/* *
|
|
|
* Retorna um conjunto de dados sobre o IP/URL consultada
|
|
|
* */
|
|
|
|
|
|
String json2 = cifClientManager.queryForIpDomain("10.168.1.1");
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
#### 1.2 Exemplo de submissão de dados utilizando API
|
|
|
|
|
|
Para submissão dedas ao servidor CIF é necessário gerar uma chave para o cliente com permissão de escrita.
|
|
|
|
|
|
```java
|
|
|
|
|
|
|
|
|
/* *
|
|
|
* Instância um cliente para comunicação
|
|
|
* @param URL/IP servidor CIF
|
|
|
* @param APIKEY gerada no servidor CIF para o cliente
|
|
|
*
|
|
|
* */
|
|
|
|
|
|
CifClientManager cifClientManager= new CifClientManager("192.168.1.37", "ca673b16-a055-44a3-b73e-f8676d11b3f0");
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
*
|
|
|
* Fábrica de objetos CIF
|
|
|
*
|
|
|
* */
|
|
|
|
|
|
CifObjectFactory cifFactory = new CifObjectFactory();
|
|
|
|
|
|
|
|
|
/*
|
|
|
*
|
|
|
* Exemplo de submissão de
|
|
|
* vários registros ao servidor CIF
|
|
|
*
|
|
|
* */
|
|
|
cifFactory.addCifObjectInList("200.10.2.1", "22", Protocol.TCP,Assessment.SCANNER);
|
|
|
cifFactory.addCifObjectInList("200.10.2.12", "33", Protocol.TCP,Assessment.SCANNER);
|
|
|
cifFactory.addCifObjectInList("200.10.2.13", "33", Protocol.TCP,Assessment.SCANNER);
|
|
|
|
|
|
CifObject[] arrayCifObj = cifFactory.buildArrayCifObjects();
|
|
|
|
|
|
if (cifClientManager.postData(arrayCifObj)){
|
|
|
|
|
|
System.out.println("Success");
|
|
|
|
|
|
}else{
|
|
|
|
|
|
System.out.println("Falha ao Submeter dados");
|
|
|
}
|
|
|
|
|
|
|
|
|
/*
|
|
|
*
|
|
|
* Exemplo de construção e submissão de
|
|
|
* único registro
|
|
|
*
|
|
|
* */
|
|
|
|
|
|
CifObject objCif = cifFactory.buildCifObject("200.10.2.13", "24", Protocol.TCP,Assessment.SCANNER);
|
|
|
|
|
|
if (cifClientManager.postData(objCif)){
|
|
|
|
|
|
System.out.println("Success");
|
|
|
|
|
|
}else{
|
|
|
|
|
|
System.out.println("Falha ao Submeter dados");
|
|
|
}
|
|
|
|
|
|
|
|
|
``` |
|
|
\ No newline at end of file |