Autopsy
4.17.0
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 String | KEY = "jjk#09s" |
static final Logger | logger = Logger.getLogger(Server.class.getName()) |
static final int | NUM_COLLECTION_CREATION_RETRIES = 5 |
static final String | SOLR = "solr" |
Handles management of a either a local or centralized Solr server and its collections or cores.
Definition at line 98 of file Server.java.
void org.sleuthkit.autopsy.keywordsearch.Server.addServerActionListener | ( | PropertyChangeListener | l | ) |
Definition at line 397 of file Server.java.
|
private |
Definition at line 1259 of file Server.java.
|
private |
Definition at line 1184 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 643 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 600 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 1877 of file Server.java.
References org.sleuthkit.autopsy.keywordsearch.Server.getSolrClient(), 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 1900 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 1317 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 1300 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.openCore().
|
private |
Definition at line 1229 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 392 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 1867 of file Server.java.
References org.sleuthkit.autopsy.keywordsearch.Server.CHUNK_ID_SEPARATOR.
|
private |
Definition at line 369 of file Server.java.
References org.sleuthkit.autopsy.keywordsearch.Server.getSolrServerList().
|
private |
Definition at line 352 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 1339 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 1158 of file Server.java.
References org.sleuthkit.autopsy.keywordsearch.Server.getSolrServerList().
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.openCore().
|
private |
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 1779 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 1803 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 1824 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 1846 of file Server.java.
|
private |
Definition at line 1913 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 1918 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 1070 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 1675 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 1704 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 1619 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 1648 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 1566 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 1592 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 1540 of file Server.java.
Referenced by 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 1732 of file Server.java.
|
private |
Definition at line 1272 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 532 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 482 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 1415 of file Server.java.
|
private |
Stops local Solr server instance.
Definition at line 835 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 224 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.getChunkIdString().
|
static |
Definition at line 221 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.DropdownToolbar.SearchSettingsChangeListener.propertyChange().
|
staticprivate |
Definition at line 239 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.openCore().
|
private |
Definition at line 260 of file Server.java.
|
private |
Definition at line 261 of file Server.java.
|
private |
Definition at line 227 of file Server.java.
|
staticprivate |
Definition at line 240 of file Server.java.
|
static |
default Charset to index text as
Definition at line 226 of file Server.java.
|
private |
Definition at line 264 of file Server.java.
|
static |
Definition at line 217 of file Server.java.
|
static |
Definition at line 223 of file Server.java.
|
private |
Definition at line 225 of file Server.java.
|
staticprivate |
Definition at line 231 of file Server.java.
|
private |
Definition at line 255 of file Server.java.
|
private |
Definition at line 237 of file Server.java.
|
private |
Definition at line 254 of file Server.java.
|
private |
Definition at line 235 of file Server.java.
|
private |
Definition at line 236 of file Server.java.
|
staticprivate |
Definition at line 220 of file Server.java.
|
static |
Definition at line 219 of file Server.java.
|
staticprivate |
Definition at line 241 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.openCore().
|
private |
Definition at line 258 of file Server.java.
|
private |
Definition at line 263 of file Server.java.
|
staticprivate |
Definition at line 238 of file Server.java.
Referenced by org.sleuthkit.autopsy.keywordsearch.Server.openCore().
Copyright © 2012-2021 Basis Technology. Generated on: Tue Jan 19 2021
This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 United States License.