It seems that you want to detect ranges of IP addresses that are vulnerable/dangerous/etc, right? Such ranges are essentially numeric intervals, and so my suggestion is to look at decision tree learning instead of neural networks, because you are essentially doing a classification task where you want to test both categorical data and splits over numerical attributes.
The result will be a tree-like function (nested conditionals) of the form
IF ...> address > ...
THEN [vulnerable]
ELSE IF port=...
THEN [not vulnerable]
ELSE [vulnerable]
where a huge benefit is that it is also more human-readable than a neural net.
The most prominent algorithms for decision trees are ID 3 and its successor C4.5.