1.4 Snort如何讀取pcap文件
您可以讓它捕獲要讀取的數據包,而不是讓Snort在接口上偵聽。Snort會讀取并分析數據包,就像它們是從網絡上掉下來一樣。這對于測試和調試Snort很有用。
1.4.1 命令行參數
可以在命令行(包括-r)上以及除其他Snort命令行選項之外多次指定以下任何內容。但是請注意, 多次指定-pcap-reset和-pcap-show與指定一次具有相同的效果。
| 選項 | 描述 |
|---|---|
-r < file > |
讀一個pcap。 |
-pcap-single = < file > |
與-r相同。為完整性而添加。 |
-pcap-file = < file > |
包含要讀取的pcap文件列表的文件。可以指定要遞歸以獲得pcaps的每個pcap或目錄的路徑。 |
-pcap-list =“ < list >” |
用空格分隔的要讀取的pcap列表。 |
-pcap-dir = < dir > |
遞歸查找pcaps的目錄。以ASCII順序排序。 |
-pcap-filter = < filter > |
從文件或目錄獲取pcaps時要應用的Shell樣式過濾器。此過濾器將應用于以下任何-pcap-file或-pcap-dir參數。使用-pcap-no-filter可以刪除過濾器后面的 -pcap-file或-pcap-dir參數,或者再次指定 -pcap-filter為了忘記先前的過濾器并應用于后面的-pcap-file或-pcap-dir參數。 |
-pcap-no-filter |
從文件或目錄獲取pcaps時,重置為不使用過濾器。 |
-pcap-reset |
如果要讀取多個pcap,請在讀取下一個pcap之前將snort重置為配置后狀態。默認值(即沒有此選項)是不重置狀態。 |
-pcap-show |
打印一行,說明當前正在讀取什么pcap。 |
1.4.2 例子
1.4.2.1 讀一個pcap
$ snort -r foo.pcap
$ snort --pcap-single = foo.pcap
1.4.2.2 從文件讀取pcap
$ cat foo.txt
foo1.pcap
foo2.pcap
/ home / foo / pcaps
$ snort --pcap-file = foo.txt
這將讀取foo1.pcap,foo2.pcap以及/ home / foo / pcaps下的所有文件。請注意,Snort不會嘗試確定該目錄下的文件是否真的是pcap文件。
1.4.2.3 從命令行列表中讀取pcap
$ snort --pcap-list =“ foo1.pcap foo2.pcap foo3.pcap”
這將讀取foo1.pcap,foo2.pcap和foo3.pcap。
1.4.2.4 在目錄下讀取pcaps
$ snort --pcap-dir =“ / home / foo / pcaps”
這將包括/ home / foo / pcaps下的所有文件。
1.4.2.5 使用過濾器
$ cat foo.txt
foo1.pcap
foo2.pcap
/ home / foo / pcaps
$ snort --pcap-filter =“ *.pcap” --pcap-file = foo.txt
$ snort --pcap-filter =“ *.pcap” --pcap-dir = / home / foo / pcaps
上面的文件僅包含與外殼模式“ * .pcap”匹配的文件,換句話說,任何以“ .pcap”結尾的文件。
$ snort --pcap-filter =“ *.pcap --pcap-file = foo.txt \
> --pcap-filter =“ *.cap” --pcap-dir = / home / foo / pcaps
在上面,第一個過濾器“ * .pcap”將僅應用于文件“ foo.txt”(以及該文件中遞歸的所有目錄)中的pcaps。添加第二個過濾器“ * .cap”將導致第一個過濾器被忘記,然后應用于目錄/ home / foo / pcaps,因此該目錄中僅包含以“ .cap”結尾的文件。
$ snort --pcap-filter =“ *.pcap --pcap-file = foo.txt \
> --pcap-no-filter --pcap-dir = / home / foo / pcaps
在此示例中,第一個過濾器將應用于foo.txt,然后沒有過濾器將應用于在/ home / foo / pcaps下找到的文件,因此將包括在/ home / foo / pcaps下找到的所有文件。
$ snort --pcap-filter =“ *.pcap --pcap-file = foo.txt \
> --pcap-no-filter --pcap-dir = / home / foo / pcaps \
> --pcap-filter =“ *.cap” --pcap-dir = / home / foo / pcaps2
在此示例中,第一個過濾器將應用于foo.txt,然后沒有過濾器將應用于在/ home / foo / pcaps下找到的文件,因此將包括在/ home / foo / pcaps下找到的所有文件,然后過濾器“ * .cap”將應用于/ home / foo / pcaps2下的文件。
1.4.2.6 復位狀態
$ snort --pcap-dir = / home / foo / pcaps --pcap-reset
上面的示例將讀取/ home / foo / pcaps下的所有文件,但是在讀取每個pcap之后,Snort將被重置為配置后狀態,這意味著將刷新所有緩沖區,重置統計信息等。對于每個pcap ,就好像Snort第一次看到流量一樣。
1.4.2.7 打印pcap
$ snort --pcap-dir = / home / foo / pcaps --pcap-show
上面的示例將讀取/ home / foo / pcaps下的所有文件,并顯示一行以指示當前正在讀取哪個pcap。
Snort安裝使用中文手冊
推薦文章: