64 lines
2.3 KiB
R
64 lines
2.3 KiB
R
|
#
|
||
|
#
|
||
|
# Na poczatku pragnę przeprosić za analizę jedynie 10% zamiast całego zbioru, lecz moje ograniczenia techniczne nie pozwalają mi
|
||
|
# na puszczenie tego na pełnych danych bez spalenia mojego sprzętu. Mam nadzieję że zostanie mi to wybaczone :)
|
||
|
#
|
||
|
#
|
||
|
|
||
|
library(ggplot2)
|
||
|
|
||
|
headers <- c('back','buffer_overflow','ftp_write','guess_passwd','imap','ipsweep','land','loadmodule','multihop','neptune','nmap','normal','perl','phf','pod','portsweep','rootkit','satan','smurf','spy','teardrop','warezclient','warezmaster',
|
||
|
'duration',
|
||
|
'protocol_type',
|
||
|
'service',
|
||
|
'flag',
|
||
|
'src_bytes',
|
||
|
'dst_bytes',
|
||
|
'land',
|
||
|
'wrong_fragment',
|
||
|
'urgent',
|
||
|
'hot',
|
||
|
'num_failed_logins',
|
||
|
'logged_in',
|
||
|
'num_compromised',
|
||
|
'root_shell',
|
||
|
'su_attempted',
|
||
|
'num_root',
|
||
|
'num_file_creations',
|
||
|
'num_shells',
|
||
|
'num_access_files',
|
||
|
'num_outbound_cmds',
|
||
|
'is_host_login',
|
||
|
'is_guest_login',
|
||
|
'count',
|
||
|
'srv_count',
|
||
|
'serror_rate',
|
||
|
'srv_serror_rate',
|
||
|
'rerror_rate',
|
||
|
'srv_rerror_rate',
|
||
|
'same_srv_rate',
|
||
|
'diff_srv_rate',
|
||
|
'srv_diff_host_rate',
|
||
|
'dst_host_count',
|
||
|
'dst_host_srv_count',
|
||
|
'dst_host_same_srv_rate',
|
||
|
'dst_host_diff_srv_rate',
|
||
|
'dst_host_same_src_port_rate',
|
||
|
'dst_host_srv_diff_host_rate',
|
||
|
'dst_host_serror_rate',
|
||
|
'dst_host_srv_serror_rate',
|
||
|
'dst_host_rerror_rate',
|
||
|
'dst_host_srv_rerror_rate')
|
||
|
|
||
|
|
||
|
kddcup99 <- read.csv('kddcup99/Data/kddcup.data_10_percent_corrected', col.names = headers)
|
||
|
|
||
|
# nie do końca rozumiem czemu w zbiorze są 42 wartości a w http://kdd.ics.uci.edu/databases/kddcup99/kddcup.names są podane 64 kolumny...
|
||
|
# do tego kolumny nie zgadzają mi się do końca sensem z tym co byłoby w nich, ale patrząc na dane wyciągam i pokazuję
|
||
|
# poniżej 2 najsensowniej wyglądające do analizy kolumny
|
||
|
|
||
|
print('Most common imap in kddcup99:')
|
||
|
print(tail(names(sort(table(kddcup99$imap)))))
|
||
|
|
||
|
print('Most common ipsweep in kddcup99:')
|
||
|
print(tail(names(sort(table(kddcup99$ipsweep)))))
|