public class SocketInfoGenerator
extends java.lang.Object
SocketInfoGenerator is responsible for generating information about currently opened system (Linux or Windows) sockets.
Monitoring of the sockets is based on external tools, depending on the operating system: | Modifier and Type | Field and Description |
|---|---|
private static org.apache.log4j.Logger |
log
Used to log different events.
|
private long |
netstatExtractedTimestamp
Timestamp when the socket was detected.
|
private static java.lang.String[] |
netStatLinux
Commands used to execute the Linux measurement tool.
|
private static java.lang.String[] |
netStatWindows
Commands used to execute the Windows measurement tool.
|
private static java.lang.String |
operatingSystem
Operating system:
win or linux. |
static java.lang.String |
OSNAMELINUX
Name used to characterize the Linux OS.
|
static java.lang.String |
OSNAMEWINDOWS
Name used to characterize the Windows OS.
|
| Constructor and Description |
|---|
SocketInfoGenerator()
Constructs the object.
|
| Modifier and Type | Method and Description |
|---|---|
java.util.ArrayList<SocketInfo> |
findSocketInfo()
Gets list of information about currently open sockets.
|
private java.lang.String |
getAppName(java.lang.String[] token)
Gets the application name from the token.
|
private java.lang.String[] |
getIPandPort(java.lang.String input)
Splits information about IP address and transport layer port.
|
private java.lang.String[] |
getLocalIPandPort(java.lang.String[] token)
Gets local IP address and local transport layer port from the token.
|
private java.lang.String[] |
getNestatOutput()
Gets information about open sockets from the system using external tools.
|
static java.lang.String |
getOperatingSystem()
Gets name of the operating system.
|
private java.lang.String |
getProtocolName(java.lang.String[] token)
Gets name of the transport layer protocol from the token.
|
private java.lang.String[] |
getRemoteIPandPort(java.lang.String[] token)
Gets remote IP address and local transport layer port from the token.
|
private boolean |
isSocketLine(java.lang.String line)
Checks if the supplied line is a valid information about a socket.
|
private java.lang.String[] |
netstatLineTokenizer(java.lang.String stringToTokenize)
Splits the information about a socket to particular parts, like IP addresses, ports, etc.
|
private java.lang.String |
replace(java.lang.String str,
java.lang.String pattern,
java.lang.String replace)
Replaces one string with another within a string.
|
private static void |
setOperatingSystem()
Sets name of the operating system.
|
private static org.apache.log4j.Logger log
public static final java.lang.String OSNAMEWINDOWS
public static final java.lang.String OSNAMELINUX
private static java.lang.String operatingSystem
win or linux.private static final java.lang.String[] netStatWindows
private static final java.lang.String[] netStatLinux
private long netstatExtractedTimestamp
private static void setOperatingSystem()
public static java.lang.String getOperatingSystem()
public java.util.ArrayList<SocketInfo> findSocketInfo()
private java.lang.String[] getNestatOutput()
private boolean isSocketLine(java.lang.String line)
line - line to be checkedtrue if the line is a valid information about a socket, false otherwiseprivate java.lang.String[] netstatLineTokenizer(java.lang.String stringToTokenize)
stringToTokenize - information to be splitprivate java.lang.String getProtocolName(java.lang.String[] token)
token - token to be extractedprivate java.lang.String[] getIPandPort(java.lang.String input)
input - information in notation like "11.22.33.44:5000"private java.lang.String[] getLocalIPandPort(java.lang.String[] token)
token - token to be extractedprivate java.lang.String[] getRemoteIPandPort(java.lang.String[] token)
token - token to be extractedprivate java.lang.String getAppName(java.lang.String[] token)
token - token to be extractedprivate java.lang.String replace(java.lang.String str,
java.lang.String pattern,
java.lang.String replace)
exe extensions.str - string to be processedpattern - string which we want to replacereplace - the replacement