0

Linux ubuntu を実行しています。

基本的に、このコマンドが構文エラーになるのはなぜですか: -

tcpdump -i eth0 -n udp -X -v -s 1514 'tcp[40:4] = 0x31323334'

40 番目のバイトに「1234」の udp パケットが表示されます。

つまり、udp は tcp パケットではないことがわかりましたが、ロジックは引き続き機能するはずです。どうすればこれを書くことができますか?

4

2 に答える 2

2

以下を試してください:

tcpdump -i eth0 -X -v -s 1514 'udp[40:4] = 0x31323334'

Afaik、proto relop フィルターは、指定したプロトコルのみに一致する必要があります。-n udp は必要ありません。

于 2013-08-13T15:00:07.943 に答える
1

tcpdump は、フィルタリング パラメーターとして何を使用するかについて混乱しています。udp を明示的に使用した場合は、すべての udp パケットがキャプチャされます。特定の udp パケットが必要な場合は、オフセットを指定できます。したがって、必要に応じて、オフセットを指定して udp を指定するか、すべての udp パケットをキャプチャする場合は単に udp を指定します。以下のようなものがあなたの要件を満たすはずです:

        tcpdump -i eth0 -n -X -v -s 1514 'udp[40:4] = 0x31323334'
于 2013-08-13T17:34:07.140 に答える