Creación directorios

Para empezar se crean las carpetas donde se almacenarán los datos.

dds.base::createPath("http")
dds.base::createPath("https")
dds.base::createPath("maxmind")

Descarga datasets

Una vez creadas, se descargan los datasets. En este caso HTTP y HTTPS, los cuales se compararán posteriormente. Comentar que el código funciona para cualquier otro dataset(csv) de rapid7.

URL datasets: - https://opendata.rapid7.com/sonar.tcp/

Datasets HTTP y HTTPS:

ds.http=dds.base::downloadScanIO("https://opendata.rapid7.com/sonar.tcp/2019-04-20-1555731287-http_get_5000.csv.gz","http","scansio.http")
ds.https=dds.base::downloadScanIO("https://opendata.rapid7.com/sonar.tcp/2019-04-20-1555735028-https_get_5001.csv.gz","https","scansio.https")

ds.maxmind=dds.base::downloadMaxmind("maxmind")

Generación Dataframes

Se generan muestras de los datasets especificados: HTTP y HTTPS

Dichos dataframes contienen información de conexiones HTTP y HTTPS mostrando las IP's origen y destino de la comunicación.

Se genera dataframe del dataset MAXMIND

Dicho dataframe contiene información sobre la geolocalización de diferentes rangos IP (REDES).

df.http=dds.base::generate.dfScan(3000,3000,ds.http)
df.https=dds.base::generate.dfScan(3000,3000,ds.https)
df.maxmind=dds.base::generate.dfMaxmind(ds.maxmind)

Unión dataframes

Se junta cada uno de los dataframe HTTP y HTTPS con el dataframe Maxmind para obtener la geolocalización de las IP origen y destino.

df.http.maxmind=dds.base::cleanAndJoin.df(df.http,df.maxmind)
df.https.maxmind=dds.base::cleanAndJoin.df(df.https,df.maxmind)

Se añade Country

Se procesa la longitud y latitud de la IP origen de cada fila del dataframe y se consigue el pais asociado.

df.http.country=dds.base::addCountry(df.http.maxmind)
df.https.country=dds.base::addCountry(df.https.maxmind)

Dataframe HTTP y HTTPS

Se muestra los dataframe resultantes, en este caso mostramos el Dataframe HTTP a modo ejemplo, dejando el HTTPS comentado por si se quisiera visualizar.

DT::datatable(df.http.country)
##DT::datatable(df.https.country)

Barplot

Se filtran los datos del dataframe para que muestre solo la cantidad de conexiones asociada a cada pais y seguidamente se muestran los datos con un barplot.

dds.base::printBarplot(df.http.country)
dds.base::printBarplot(df.https.country)

WorldMap

Se filtran los datos del dataframe para que muestre solo la cantidad de conexiones asociada a cada pais y seguidamente se muestran los datos en un mapa mundo.

df.http.country=dds.base::printWorldMap(df.http.country)
df.https.country=dds.base::printWorldMap(df.https.country)


DDS-MCSM/spring19-group-assignment-team1kenobi documentation built on June 4, 2019, 11:39 p.m.