Add RIPE Abuse Contact Finder

- Add RIPE Abuse Contact Finder to RIPE NCC API toolset.
This commit is contained in:
Rosiak
2015-11-21 00:44:13 +01:00
parent 9e72b74502
commit aee49c3d84
3 changed files with 49 additions and 34 deletions

View File

@@ -1,4 +1,4 @@
<?php
<?php
/*
* LibreNMS
*
@@ -12,11 +12,12 @@
$status = 'error';
$message = 'unknown error';
$parameter = mres($_POST['parameter']);
if (isset($parameter)) {
$data_param = mres($_POST['data_param']);
$query_param = mres($_POST['query_param']);
if (isset($data_param) && isset($query_param)) {
$status = 'ok';
$message = 'Queried';
$output = get_ripe_api_whois_data_json($parameter);
$output = get_ripe_api_whois_data_json($data_param, $query_param);
}
else {
$status = 'error';
@@ -25,6 +26,7 @@ else {
die(json_encode(array(
'status' => $status,
'message' => $message,
'parameter' => $parameter,
'data_param' => $data_param,
'query_param' => $query_param,
'output' => $output
)));

View File

@@ -1253,8 +1253,8 @@ function generate_dynamic_config_panel($title,$end_panel=true,$config_groups,$it
return $output;
}//end generate_dynamic_config_panel()
function get_ripe_api_whois_data_json($ripe_parameter) {
$ripe_whois_url = 'https://stat.ripe.net/data/whois/data.json?resource=' . $ripe_parameter;
function get_ripe_api_whois_data_json($ripe_data_param, $ripe_query_param) {
$ripe_whois_url = 'https://stat.ripe.net/data/'. $ripe_data_param . '/data.json?resource=' . $ripe_query_param;
return json_decode(file_get_contents($ripe_whois_url) , true);
}//end get_ripe_api_whois_data_json()

View File

@@ -13,39 +13,52 @@ $pagetitle[] = 'RIPE NCC - API Tools';
?>
<h3> RIPE NCC API Tools </h3>
<hr>
<h4> Whois </h4>
<form class="form-horizontal" action="" method="post">
<div class="input-group">
<div class="radio">
<label><input type="radio" id="data_radio" value="abuse-contact-finder">Abuse Contact Finder</label>
</div>
<div class="radio">
<label><input type="radio" id="data_radio" value="whois">Whois</label>
</div>
<div class="input-group">
<input type="text" class="form-control" id="input-parameter" placeholder="IP, ASN etc.">
<span class="input-group-btn">
<button type="submit" name="btn-query" id="btn-query" class="btn btn-primary">Query</button>
</span>
</div>
</div>
</form>
<br />
<div id="ripe-output" style="font-family: Courier New; background-color: lightgray;"></div>
<br />
<script>
$("[name='btn-query']").on('click', function(event) {
$("[name='btn-query']").on('click', function(event) {
event.preventDefault();
var $this = $(this);
var parameter = $("#input-parameter").val();
var data_param = $("#data_radio").val();
var query_param = $("#input-parameter").val();
$.ajax({
type: 'POST',
url: 'ajax_form.php',
data: { type: "query-ripenccapi", parameter: parameter},
dataType: "json",
success: function(data){
$('#ripe-output').empty();
if (data.output.data.records) {
$.each(data.output.data.records[0], function (row,value) {
$('#ripe-output').append(value['key'] + ' = ' + value['value'] +'<br />');
});
}
data: {
type: "query-ripenccapi",
data_param: data_param,
query_param: query_param
},
error:function(){
dataType: "json",
success: function(data) {
$('#ripe-output').empty();
if (data.output.data.records)
$.each(data.output.data.records[0], function(row, value) {
$('#ripe-output').append(value['key'] + ' = ' + value['value'] + '<br />');
});
else if (data.output.data.anti_abuse_contacts.abuse_c)
$.each(data.output.data.anti_abuse_contacts.abuse_c, function(row, value) {
$('#ripe-output').append(value['description'] + ' = ' + value['email'] + '<br />');
});
},
error: function() {
toastr.error('Error');
}
});
});
});
</script>