как получить журнал пакетов, отброшенных rp_filter=1

Con grep -w, le está pidiendo a grepque solo devuelva coincidencias que estén inmediatamente precedidas o seguidas por una nueva línea (al principio o al final de una línea )o una palabra que no sea -carácter (un carácter de palabra es una letra, un dígito o un guión bajo ).

Esto significa que el texto this is flag{a}no coincidirá con grep -w 'flag{', ya que el carácter que sigue a {en el texto es un carácter de palabra.

Del mismo modo, this is theflag{no coincidiría con grep -w 'flag{'.

Puede deshacerse de la opción -wy, en su lugar, usar un patrón de límite de palabra de ancho cero -explícito, por ejemplo al principio, de modo que pueda hacer coincidir flag{a}pero no theflag{. Con GNU grep, esto se puede hacer usando

grep -rn '\<flag{' Downloads

o

grep -rn '\bflag{' Downloads

El patrón \<coincide con un límite de palabra al comienzo de una palabra (y \>coincide con el final ), mientras que \bcoincide tanto al principio como al final. \<y \>se heredaron originalmente de los editores exy viy son más portátiles que \b.

GNU grepno es compatible con [[:<:]]y [[:>:]](, que funcionan de la misma manera que \<y\>)para coincidir al principio o al final de las palabras, pero BSD grepsí. BSD grepno admite \b.

1
13.06.2019, 18:56
1 ответ

Насколько мне известно, они не зарегистрированы. Если кто-то еще не докажет, что я ошибаюсь, вот альтернативный метод.

Вместо этого вы можете выполнить шаги 1+2 или 1+3 ниже:

  1. полностью отключитьrp _фильтр .

  2. используйте модуль соответствия iptablesrpfilter , один раз с целью LOG для простого журнала, илиNFLOG(или дажеNFQUEUE , хотя это не предполагаемое использование )для полного дампа пакетов, а один раз с целью DROP для фактической фильтрации.

    Правильное использование NFLOG , вероятно, потребовало бы отдельного вопроса, но я могу сказать, что даже без специального инструмента tcpdumpможет прослушивать сокет nflog netlink как если бы это был интерфейс. Обычно делается сначала с помощью:

    # tcpdump -D
    

    для получения правильного индекса интерфейса. Например:

    [...]

    12.nflog (Linux netfilter log (NFLOG) interface)
    13.nfqueue (Linux netfilter queue (NFQUEUE) interface)
    

    [...]

    # tcpdump -n -i 12
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on nflog, link-type NFLOG (Linux netfilter log messages), capture size 262144 bytes
    

    Вы также можете записать их в файл(-w dump.cap)

  3. или используйтеnft'sfibдля эквивалентного метода, используя (достаточно недавний)nftablesвместо iptables , с некоторый эквивалентныйлогарифмическийметод.

Использование уровня брандмауэра netfilter является единственным методом для IPv6, в котором отсутствует прямая поддержка rp _filter в стеке маршрутизации в Linux.

Некоторые критические ситуации, связанные с ARP или маршрутизацией политик, могут вести себя не на 100% идентично, поскольку фильтрация, вероятно, выполняется позже.

1
28.01.2020, 00:10

Теги

Похожие вопросы