Autopsy
4.19.1
Graphical digital forensics platform for The Sleuth Kit and other tools.
|
Classes | |
class | Collection |
enum | CORE_EVT_STATES |
class | IndexingServerProperties |
class | InputStreamPrinterThread |
enum | Schema |
class | ServerAction |
enum | SOLR_VERSION |
class | SolrServerNoPortException |
Public Member Functions | |
void | addServerActionListener (PropertyChangeListener l) |
void | finalize () throws java.lang.Throwable |
String | getSolrContent (final Content content) throws NoOpenCoreException |
String | getSolrContent (final Content content, int chunkID) throws NoOpenCoreException |
String | getSolrContent (final long objectID) throws NoOpenCoreException |
String | getSolrContent (final long objectID, final int chunkID) throws NoOpenCoreException |
QueryResponse | query (SolrQuery sq) throws KeywordSearchModuleException, NoOpenCoreException, IOException |
QueryResponse | query (SolrQuery sq, SolrRequest.METHOD method) throws KeywordSearchModuleException, NoOpenCoreException |
boolean | queryIsIndexed (long contentID) throws KeywordSearchModuleException, NoOpenCoreException |
int | queryNumFileChunks (long fileID) throws KeywordSearchModuleException, NoOpenCoreException |
int | queryNumIndexedChunks () throws KeywordSearchModuleException, NoOpenCoreException |
int | queryNumIndexedDocuments () throws KeywordSearchModuleException, NoOpenCoreException |
int | queryNumIndexedFiles () throws KeywordSearchModuleException, NoOpenCoreException |
TermsResponse | queryTerms (SolrQuery sq) throws KeywordSearchModuleException, NoOpenCoreException |
Static Public Member Functions | |
static String | getChunkIdString (long parentID, int childID) |
static IndexingServerProperties | getMultiUserServerProperties (String caseDirectory) |
static void | selectSolrServerForCase (Path rootOutputDirectory, Path caseDirectoryPath) throws KeywordSearchModuleException |
Static Public Attributes | |
static final String | CHUNK_ID_SEPARATOR = "_" |
static final String | CORE_EVT = "CORE_EVT" |
static final Charset | DEFAULT_INDEXED_TEXT_CHARSET = Charset.forName("UTF-8") |
default Charset to index text as More... | |
static final String | HL_ANALYZE_CHARS_UNLIMITED = "500000" |
static final char | ID_CHUNK_SEP = '_' |
static final long | MAX_CONTENT_SIZE = 1L * 31 * 1024 * 1024 |
Private Member Functions | |
void | backupCollection (String collectionName, String backupName, String pathToBackupLocation) throws SolrServerException, IOException, KeywordSearchModuleException |
boolean | collectionExists (String collectionName) throws SolrServerException, IOException |
HttpSolrClient | configureMultiUserConnection (Case theCase, Index index, String name) throws KeywordSearchModuleException |
void | configureSolrConnection (Case theCase, Index index) throws KeywordSearchModuleException, SolrServerNoPortException |
void | connectToEmbeddedSolrServer () throws SolrServerException, IOException |
void | connectToSolrServer (HttpSolrClient solrServer) throws SolrServerException, IOException |
boolean | coreIndexFolderExists (String coreName) throws SolrServerException, IOException |
boolean | coreIsLoaded (String coreName) throws SolrServerException, IOException |
void | createMultiUserCollection (String collectionName, int numShardsToUse) throws KeywordSearchModuleException, SolrServerException, IOException |
CloudSolrClient | getCloudSolrClient (String host, String port, String defaultCollectionName) throws KeywordSearchModuleException |
ConcurrentUpdateSolrClient | getConcurrentClient (String solrUrl) |
int | getNumShardsToUse () throws KeywordSearchModuleException |
HttpSolrClient | getSolrClient (String solrUrl) |
List< String > | getSolrServerList (String host, String port) throws KeywordSearchModuleException |
List< String > | getSolrServerList (HttpSolrClient solrServer) throws KeywordSearchModuleException |
void | initSettings () |
Collection | openCore (Case theCase, Index index) throws KeywordSearchModuleException |
void | restoreCollection (String backupName, String restoreCollectionName, String pathToBackupLocation) throws SolrServerException, IOException, KeywordSearchModuleException |
Process | runLocalSolr4ControlCommand (List< String > solrArguments) throws IOException |
Process | runLocalSolr8ControlCommand (List< String > solrArguments) throws IOException |
void | stopLocalSolr () |
Private Attributes | |
Collection | currentCollection |
final ReentrantReadWriteLock | currentCoreLock |
Process | curSolrProcess = null |
InputStreamPrinterThread | errorRedirectThread |
String | javaPath = "java" |
SOLR_VERSION | localServerVersion = SOLR_VERSION.SOLR8 |
File | localSolrFolder |
HttpSolrClient | localSolrServer = null |
int | localSolrServerPort = 0 |
int | localSolrStopPort = 0 |
HttpSolrClient | remoteSolrServer |
final ServerAction | serverAction |
Static Private Attributes | |
static final String | CORE_PROPERTIES = "core.properties" |
static final boolean | DEBUG = false |
static final int | EMBEDDED_SERVER_RETRY_WAIT_SEC = 5 |
static final String | KEY = "jjk#09s" |
static final Logger | logger = Logger.getLogger(Server.class.getName()) |
static final int | NUM_COLLECTION_CREATION_RETRIES = 5 |
static final int | NUM_EMBEDDED_SERVER_RETRIES = 12 |
static final String | SOLR = "solr" |
Handles management of a either a local or centralized Solr server and its collections or cores.
Definition at line 108 of file Server.java.
void org.sleuthkit.autopsy.keywordsearch.Server.addServerActionListener | ( | PropertyChangeListener | l | ) |
Definition at line 411 of file Server.java.
|
private |
Definition at line 1287 of file Server.java.
|
private |
Definition at line 1212 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.createMultiUserCollection(), and org.sleuthkit.autopsy.keywordsearch.Server.openCore().
|
private |
Returns a fully configured Solr client to be used for the current case. Checks the version of Solr index for the current case (Solr 4 or 8), gets connection info for the appropriate Solr server, and configures the Solr client.
theCase | Current case |
index | Index object for the current case |
name | Name of the Solr collection |
KeywordSearchModuleException |
Definition at line 657 of file Server.java.
References org.sleuthkit.autopsy.keywordsearch.Server.getMultiUserServerProperties(), org.sleuthkit.autopsy.keywordsearch.Server.getSolrClient(), org.sleuthkit.autopsy.keywordsearch.Server.IndexingServerProperties.host, and org.sleuthkit.autopsy.keywordsearch.Server.IndexingServerProperties.port.
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.configureSolrConnection().
|
private |
Definition at line 614 of file Server.java.
References org.sleuthkit.autopsy.keywordsearch.Server.configureMultiUserConnection(), org.sleuthkit.autopsy.casemodule.Case.CaseType.SINGLE_USER_CASE, org.sleuthkit.autopsy.keywordsearch.Server.SOLR_VERSION.SOLR4, and org.sleuthkit.autopsy.keywordsearch.Server.SOLR_VERSION.SOLR8.
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.openCore().
|
private |
Attempts to connect to the local Solr server, which is NOT running in SolrCloud mode.
SolrServerException | |
IOException |
Definition at line 1933 of file Server.java.
References org.sleuthkit.autopsy.healthmonitor.HealthMonitor.getTimingMetric(), and org.sleuthkit.autopsy.healthmonitor.HealthMonitor.submitTimingMetric().
|
private |
Attempts to connect to the given Solr server, which is running in SoulrCloud mode. This API does not work for the local Solr which is NOT running in SolrCloud mode.
solrServer |
SolrServerException | |
IOException |
Definition at line 1965 of file Server.java.
References org.sleuthkit.autopsy.healthmonitor.HealthMonitor.getTimingMetric(), and org.sleuthkit.autopsy.healthmonitor.HealthMonitor.submitTimingMetric().
|
private |
Determines whether or not the index files folder for a Solr core exists. This is used only with embedded Solr server running in non-cloud mode.
coreName | the name of the core. |
SolrServerException | |
IOException |
Definition at line 1345 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.openCore().
|
private |
Determines whether or not a particular Solr core exists and is loaded. This is used only with embedded Solr server running in non-cloud mode.
coreName | The name of the core. |
SolrServerException | If there is a problem communicating with the Solr server. |
IOException | If there is a problem communicating with the Solr server. |
Definition at line 1328 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.openCore().
|
private |
Definition at line 1257 of file Server.java.
References org.sleuthkit.autopsy.keywordsearch.Server.collectionExists().
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.openCore().
void org.sleuthkit.autopsy.keywordsearch.Server.finalize | ( | ) | throws java.lang.Throwable |
Definition at line 406 of file Server.java.
|
static |
Given file parent id and child chunk ID, return the ID string of the chunk as stored in Solr, e.g. FILEID_CHUNKID
parentID | the parent file id (id of the source content) |
childID | the child chunk id |
Definition at line 1923 of file Server.java.
References org.sleuthkit.autopsy.keywordsearch.Server.CHUNK_ID_SEPARATOR.
|
private |
Definition at line 383 of file Server.java.
References org.sleuthkit.autopsy.keywordsearch.Server.getSolrServerList().
|
private |
Definition at line 366 of file Server.java.
|
static |
Get the host and port for a multi-user case. If the file solrserver.txt exists, then use the values from that file. Otherwise use the settings from the properties file, depending on which version of Solr was used to create the current index. Defaults to using latest Solr version info if an error occurred.
caseDirectory | Current case directory |
Definition at line 1367 of file Server.java.
References org.sleuthkit.autopsy.core.UserPreferences.getIndexingServerHost(), org.sleuthkit.autopsy.core.UserPreferences.getIndexingServerPort(), org.sleuthkit.autopsy.core.UserPreferences.getSolr4ServerHost(), and org.sleuthkit.autopsy.core.UserPreferences.getSolr4ServerPort().
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.configureMultiUserConnection(), and org.sleuthkit.autopsy.keywordsearch.KeywordSearchIngestModule.startUp().
|
private |
Definition at line 1186 of file Server.java.
References org.sleuthkit.autopsy.keywordsearch.Server.getSolrServerList().
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.openCore().
|
private |
Definition at line 357 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.configureMultiUserConnection(), and org.sleuthkit.autopsy.keywordsearch.Server.getSolrServerList().
String org.sleuthkit.autopsy.keywordsearch.Server.getSolrContent | ( | final Content | content | ) | throws NoOpenCoreException |
Get the text contents of the given file as stored in SOLR.
content | to get the text for |
NoOpenCoreException |
Definition at line 1835 of file Server.java.
String org.sleuthkit.autopsy.keywordsearch.Server.getSolrContent | ( | final Content | content, |
int | chunkID | ||
) | throws NoOpenCoreException |
Get the text contents of a single chunk for the given file as stored in SOLR.
content | to get the text for |
chunkID | chunk number to query (starting at 1), or 0 if there is no chunks for that content |
NoOpenCoreException |
Definition at line 1859 of file Server.java.
String org.sleuthkit.autopsy.keywordsearch.Server.getSolrContent | ( | final long | objectID | ) | throws NoOpenCoreException |
Get the text contents for the given object id.
objectID |
NoOpenCoreException |
Definition at line 1880 of file Server.java.
String org.sleuthkit.autopsy.keywordsearch.Server.getSolrContent | ( | final long | objectID, |
final int | chunkID | ||
) | throws NoOpenCoreException |
Get the text contents for the given object id and chunk id.
objectID | |
chunkID |
NoOpenCoreException |
Definition at line 1902 of file Server.java.
|
private |
Definition at line 1978 of file Server.java.
References org.sleuthkit.autopsy.keywordsearch.Server.getSolrClient().
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.getCloudSolrClient(), and org.sleuthkit.autopsy.keywordsearch.Server.getNumShardsToUse().
|
private |
Definition at line 1983 of file Server.java.
|
private |
|
private |
Creates/opens a Solr core (index) for a case.
theCase | The case for which the core is to be created/opened. |
index | The text index that the Solr core should be using. |
KeywordSearchModuleException | If an error occurs while creating/opening the core. |
Definition at line 1098 of file Server.java.
References org.sleuthkit.autopsy.keywordsearch.Server.collectionExists(), org.sleuthkit.autopsy.keywordsearch.Server.configureSolrConnection(), org.sleuthkit.autopsy.keywordsearch.Server.CORE_PROPERTIES, org.sleuthkit.autopsy.keywordsearch.Server.coreIndexFolderExists(), org.sleuthkit.autopsy.keywordsearch.Server.coreIsLoaded(), org.sleuthkit.autopsy.keywordsearch.Server.createMultiUserCollection(), org.sleuthkit.autopsy.casemodule.Case.getCaseType(), org.sleuthkit.autopsy.keywordsearch.Server.getNumShardsToUse(), org.sleuthkit.autopsy.casemodule.Case.CaseType.MULTI_USER_CASE, org.sleuthkit.autopsy.keywordsearch.Server.NUM_COLLECTION_CREATION_RETRIES, org.sleuthkit.autopsy.casemodule.Case.CaseType.SINGLE_USER_CASE, and org.sleuthkit.autopsy.keywordsearch.Server.SOLR.
QueryResponse org.sleuthkit.autopsy.keywordsearch.Server.query | ( | SolrQuery | sq | ) | throws KeywordSearchModuleException, NoOpenCoreException, IOException |
Execute solr query
sq | query |
KeywordSearchModuleException | |
NoOpenCoreException |
Definition at line 1703 of file Server.java.
QueryResponse org.sleuthkit.autopsy.keywordsearch.Server.query | ( | SolrQuery | sq, |
SolrRequest.METHOD | method | ||
) | throws KeywordSearchModuleException, NoOpenCoreException |
Execute solr query
sq | the query |
method | http method to use |
KeywordSearchModuleException | |
NoOpenCoreException |
Definition at line 1732 of file Server.java.
boolean org.sleuthkit.autopsy.keywordsearch.Server.queryIsIndexed | ( | long | contentID | ) | throws KeywordSearchModuleException, NoOpenCoreException |
Return true if the file is indexed (either as a whole as a chunk)
contentID |
KeywordSearchModuleException | |
NoOpenCoreException |
Definition at line 1647 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.solrHasContent().
int org.sleuthkit.autopsy.keywordsearch.Server.queryNumFileChunks | ( | long | fileID | ) | throws KeywordSearchModuleException, NoOpenCoreException |
Execute query that gets number of indexed file chunks for a file
fileID | file id of the original file broken into chunks and indexed |
KeywordSearchModuleException | |
NoOpenCoreException |
Definition at line 1676 of file Server.java.
int org.sleuthkit.autopsy.keywordsearch.Server.queryNumIndexedChunks | ( | ) | throws KeywordSearchModuleException, NoOpenCoreException |
Execute query that gets only number of all Solr file chunks (not logical files) indexed without actually returning the content.
KeywordSearchModuleException | |
NoOpenCoreException |
Definition at line 1594 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.KeywordSearchIngestModule.shutDown().
int org.sleuthkit.autopsy.keywordsearch.Server.queryNumIndexedDocuments | ( | ) | throws KeywordSearchModuleException, NoOpenCoreException |
Execute query that gets only number of all Solr documents indexed (files and chunks) without actually returning the documents
KeywordSearchModuleException | |
NoOpenCoreException |
Definition at line 1620 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.KeywordSearchIngestModule.startUp().
int org.sleuthkit.autopsy.keywordsearch.Server.queryNumIndexedFiles | ( | ) | throws KeywordSearchModuleException, NoOpenCoreException |
Execute query that gets only number of all Solr files indexed without actually returning the files. The result does not include chunks, only number of actual files.
KeywordSearchModuleException | |
NoOpenCoreException |
Definition at line 1568 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.ExtractAllTermsReport.generateReport(), org.sleuthkit.autopsy.keywordsearch.DropdownToolbar.SearchSettingsChangeListener.propertyChange(), and org.sleuthkit.autopsy.keywordsearch.KeywordSearchIngestModule.shutDown().
TermsResponse org.sleuthkit.autopsy.keywordsearch.Server.queryTerms | ( | SolrQuery | sq | ) | throws KeywordSearchModuleException, NoOpenCoreException |
Execute Solr terms query
sq | the query |
KeywordSearchModuleException | |
NoOpenCoreException |
Definition at line 1760 of file Server.java.
|
private |
Definition at line 1300 of file Server.java.
|
private |
Run a Solr command with the given arguments.
solrArguments | Command line arguments to pass to the Solr command. |
IOException |
Definition at line 546 of file Server.java.
References org.sleuthkit.autopsy.core.UserPreferences.getMaxSolrVMSize().
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.stopLocalSolr().
|
private |
Run a Solr command with the given arguments.
solrArguments | Command line arguments to pass to the Solr command. |
IOException |
Definition at line 496 of file Server.java.
References org.sleuthkit.autopsy.core.UserPreferences.getMaxSolrVMSize(), org.sleuthkit.autopsy.coreutils.PlatformUtil.getUserDirectory(), and org.sleuthkit.autopsy.coreutils.PlatformUtil.isWindowsOS().
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.stopLocalSolr().
|
static |
Pick a solr server to use for this case and record it in the case directory. Looks for a file named "solrServerList.txt" in the root output directory - if this does not exist then no server is recorded.
Format of solrServerList.txt: (host),(port) Ex: 10.1.2.34,8983
rootOutputDirectory | |
caseDirectoryPath |
KeywordSearchModuleException |
Definition at line 1443 of file Server.java.
|
private |
Stops local Solr server instance.
Definition at line 863 of file Server.java.
References org.sleuthkit.autopsy.keywordsearch.Server.runLocalSolr4ControlCommand(), org.sleuthkit.autopsy.keywordsearch.Server.runLocalSolr8ControlCommand(), and org.sleuthkit.autopsy.keywordsearch.Server.SOLR_VERSION.SOLR8.
|
static |
Definition at line 234 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.getChunkIdString().
|
static |
Definition at line 231 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.DropdownToolbar.SearchSettingsChangeListener.propertyChange().
|
staticprivate |
Definition at line 249 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.openCore().
|
private |
Definition at line 272 of file Server.java.
|
private |
Definition at line 273 of file Server.java.
|
private |
Definition at line 237 of file Server.java.
|
staticprivate |
Definition at line 250 of file Server.java.
|
static |
default Charset to index text as
Definition at line 236 of file Server.java.
|
staticprivate |
Definition at line 253 of file Server.java.
|
private |
Definition at line 276 of file Server.java.
|
static |
Definition at line 227 of file Server.java.
|
static |
Definition at line 233 of file Server.java.
|
private |
Definition at line 235 of file Server.java.
|
staticprivate |
Definition at line 241 of file Server.java.
|
private |
Definition at line 267 of file Server.java.
|
private |
Definition at line 247 of file Server.java.
|
private |
Definition at line 266 of file Server.java.
|
private |
Definition at line 245 of file Server.java.
|
private |
Definition at line 246 of file Server.java.
|
staticprivate |
Definition at line 230 of file Server.java.
|
static |
Definition at line 229 of file Server.java.
|
staticprivate |
Definition at line 251 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.openCore().
|
staticprivate |
Definition at line 252 of file Server.java.
|
private |
Definition at line 270 of file Server.java.
|
private |
Definition at line 275 of file Server.java.
|
staticprivate |
Definition at line 248 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.openCore().
Copyright © 2012-2021 Basis Technology. Generated on: Thu Sep 30 2021
This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 United States License.