1

このペーパーで説明されている手法を使用して、特定の NAT ゲートウェイの背後にあるクライアント/デバイスの数のレポートを生成しようとしています。

基本的に、「User-Agent」と「Time to live」の両方を同時に検索するスクリプトを作成する必要があります

grep "    User-Agent:" *.txt

grep "    Time to live:" *.txt

これらはまさに出力ファイルで行がどのようにフォーマットされているかであり、行末までテキストがあることをうれしく思います。それらは別々に機能しますが、それらを組み合わせることに成功していません。

私の最近の試みは次のとおりです。

egrep -w '    User-Agent:'|'    Time to live:' ../*.txt
grep '    User-Agent:' ../*.txt' && grep '    Time to live:' ../*.txt

(私は Wireshark からテキスト形式のファイルを手動でエクスポートしています。誰かがスクリプトを介してそれを行うための提案を持っている場合、私は最も感謝しています。これを行うには膨大な数のファイルがあります。)

同様のスレッドを探しましたが、見つかりませんでした。既に存在する場合 (予想どおり)、申し訳ありません。

編集:私が言及する必要があると思った、私が探している2つのフレーズは他のデータで区切られた行にあるため、解決策は次のような例で両方を検索する必要があります:

User-Agent:
blahblahblah:
halbhalbhalb:
Time to live:

egrep ' ユーザーエージェント:| Time to live:' ../*.txt は私に与えます:

desktop:~/Documents/scripts$ ./pcap_ttl_OS_useragent 
../scripttextfile1p.txt:    Time to live: 128
../scripttextfile1p.txt:    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0\r\n
../scripttextfile2p.txt:    Time to live: 55
../scripttextfile3p.txt:    Time to live: 128
../scripttextfile3p.txt:    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0\r\n
4

1 に答える 1

1
egrep '    User-Agent:|    Time to live:' ../*.txt

動作するはずです。

-w「機能」が得られるとは思いません。

|また、代替文字を 1 つの文字列として含めて、「拡張された」正規表現全体を引用したいと考えています。

最後に、各フィールドの先頭の空白がタブ文字またはスペースのグループの結果であるかどうかは明確ではありません。これは、検索パターンに入れる正しいテキスト文字列に影響します。空白のタイプを確認するために、私は使用するのが好きです

grep 'User-Agent' ../*.txt | head -1 | cat -vet

エーテルが表示されます

.....    User-Agent ....

また

.....^IUser-Agent .....

^Iはタブ文字の表現です。

IHTH

于 2013-07-10T18:16:33.887 に答える