0

重複の可能性:
ファイル シェル スクリプトから部分文字列を取得する必要がある

少し助けが必要です。コマンドからのキャプチャを含むファイルがあります。

tcpdump -Xvv -n proto \tcp -c 10 > capture.txt 2>/dev/null

出力 capture.txt の結果は次のようになります。

15:29:18.164566 IP (tos 0x0, ttl 1, id 2394, offset 0, flags [none], proto TCP (6), length 125)
    10.0.0.243.61908 > 10.0.0.184.80: Flags [S], cksum 0x3d53 (correct), seq 1831050442, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
    0x0000:  4600 0024 0000 0000 0102 3ad3 0a00 0000  F..$......:.....
    0x0010:  e000 0001 9404 0000 1101 ebfe 0000 0000  ................
   ..............
15:29:18.164567 IP (tos 0x0, ttl 128, id 2394, offset 0, flags [none], proto TCP (6), length 125)
    10.0.0.184.80 > 10.0.0.243.61908: Flags [S.], cksum 0x135e (correct), seq 2906424792, ack 1831050443, win 5840, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
    0x0000:  4600 0024 0000 0000 0102 3ad3 0a00 0000  F..$......:.....
    0x0010:  e000 0001 9404 0000 1101 ebfe 0000 0000  ................
    0x0020:  0000 0000 0000 0000 2323 2332 2323
    0x0030:  0300 0000 0000 0000 0000 0000 0000       ..............
15:29:18.164569 IP (tos 0x0, ttl 1, id 2394, offset 0, flags [none], proto TCP (6), length 125)
    10.0.0.243.61908 > 10.0.0.184.80: Flags [S], cksum 0x3d53 (correct), seq 1831050442, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
    0x0000:  4600 0024 0000 0000 0102 3ad3 0a00 0000  F..$......:.....
    0x0010:  e000 0001 9404 0000 1101 ebfe 0000 0000  ................
    0x0020:  0300 0000 0000 0000 0000 0000 0000       ..............

grep コマンド grep -A を使用しようとしていますが、うまくいきません。

IP宛先アドレスの後に宛先ポートを取得する必要があります。

出力は次のようにする必要があります。

80

61908

80

助言がありますか?

4

2 に答える 2

1
grep -oP '> \d+\.\d+\.\d+\.\d+\.\d+' capture.txt | cut -d. -f5
于 2013-01-15T21:57:02.153 に答える
1

これはここで機能するようです。

tcpdump -Xvv -i wlan1 -n -nn proto \TCP -c 10 > capture.txt

sed -n 's/.*\.\(.*\): Flags.*/\1/p' capture.txt
443
35673
443
35071
80
于 2013-01-15T19:51:50.503 に答える