You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@metron.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/09/16 04:57:21 UTC

[jira] [Commented] (METRON-257) Allow pcap result pagination from the Pcap CLI

    [ https://issues.apache.org/jira/browse/METRON-257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15495380#comment-15495380 ] 

ASF GitHub Bot commented on METRON-257:
---------------------------------------

GitHub user mmiklavc opened a pull request:

    https://github.com/apache/incubator-metron/pull/256

    Metron 257 Enable pcap result pagination from the Pcap CLI

    This builds on efforts from [https://github.com/apache/incubator-metron/pull/217](https://github.com/apache/incubator-metron/pull/217)
    
    This closes [https://issues.apache.org/jira/browse/METRON-257](https://issues.apache.org/jira/browse/METRON-257)
    
    The purpose for this PR is to give the user the ability to specify how many records per file should be written by the PCAP CLI tool. For example, if 1,000 records are returned by a PCAP query and the user specifies 200 records per file, then the user should expect 5 PCAP files to be written to the current working directory.
    
    **Testing**
    Get PCAP data into Metron: Install and setup pycapa - the instructions below reference/mirror those in [PR-93](https://github.com/apache/incubator-metron/pull/93#issue-151705836)
    
    1. Install the pycapa library & utility ```$ cd /opt/pycapa/pycapa && pip install -r requirements.txt && python setup.py install```
    2. (if using singlenode vagrant) Kill the enrichment and sensor topologies via for i in bro enrichment yaf snort;do storm kill $i;done
    3. Start the pcap topology via /usr/metron/0.2.0BETA/bin/start_pcap_topology.sh
    4. Start the pycapa packet capture producer on eth1 via /usr/bin/pycapa --producer --topic pcap -i eth1 -k node1:6667
    5. Watch the topology in the Storm UI and kill the packet capture utility from before, when the number of packets ingested is over 3k.
    6. Ensure that at at least 3 files exist on HDFS by running hadoop fs -ls /apps/metron/pcap
    7. Choose a file (denoted by $FILE) and dump a few of the contents using the pcap_inspector utility via /usr/metron/0.2.0BETA/bin/pcap_inspector.sh -i $FILE -n 5
    8. Choose one of the lines and note the protocol.
    9. Note that when you run the commands below, the resulting file will be placed in the execution directory where you kicked off the job from.
    
    ### Fixed filter
    
    1. Run a fixed filter query by executing the following command with the values noted above (match your start_time format to the date format provided - default is to use millis since epoch)
    2. `/usr/metron/0.2.0BETA/bin/pcap_query.sh fixed -st <start_time> -df "yyyyMMdd" -p <protocol_num> -rpf 500`
    3. Verify the MR job finishes successfully. Upon completion, you should see multiple files named with relatively current datestamps in your current directory, e.g. pcap-data-20160617160549737+0000.pcap
    4. Copy the files to your local machine and verify you can them it in Wireshark. I chose a middle file and the last file. The middle file should have 500 records (per the records_per_file option), and the last one will likely have a number of records <= 500.
    
    ### Query filter
    
    1. Run a Stellar query filter query by executing a command similar to the following, with the values noted above (match your start_time format to the date format provided - default is to use millis since epoch)
    2. `/usr/metron/0.2.0BETA/bin/pcap_query.sh query -st "20160617" -df "yyyyMMdd" -query "protocol == '6'"  -rpf 500`
    3. Verify the MR job finishes successfully. Upon completion, you should see multiple files named with relatively current datestamps in your current directory, e.g. pcap-data-20160617160549737+0000.pcap
    4. Copy the files to your local machine and verify you can them it in Wireshark. I chose a middle file and the last file. The middle file should have 500 records (per the records_per_file option), and the last one will likely have a number of records <= 500.
    
    **References:**
    - https://github.com/apache/incubator-metron/pull/217
    - https://github.com/apache/incubator-metron/pull/156
    - https://github.com/apache/incubator-metron/pull/93#issue-151705836
    - https://github.com/apache/incubator-metron/tree/master/metron-sensors/pycapa

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/mmiklavc/incubator-metron METRON-257

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-metron/pull/256.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #256
    
----
commit a06fd0b918bfd4d363d58ffb5c5c2dba015e7c57
Author: Michael Miklavcic <mi...@gmail.com>
Date:   2016-09-15T01:54:50Z

    Refactor pcap cli tests. Fix num reducers

commit cc06349495315a6e1e7b393cd4871bf3e855bc3b
Author: Michael Miklavcic <mi...@gmail.com>
Date:   2016-09-16T04:43:43Z

    METRON-257 Enable pcap result pagination from the Pcap CLI

----


> Allow pcap result pagination from the Pcap CLI
> ----------------------------------------------
>
>                 Key: METRON-257
>                 URL: https://issues.apache.org/jira/browse/METRON-257
>             Project: Metron
>          Issue Type: Improvement
>            Reporter: Casey Stella
>            Priority: Minor
>              Labels: platform
>             Fix For: 0.2.2BETA
>
>
> Right now we are returning the whole result set as part of the PCap CLI.  We should allow for pagination of results.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)