Как использовать команду ls для отображения всех файлов, кроме тех, которые заканчиваются определенной строкой

Encontré la razón por la que esto no funciona.

No puede confiar en que netfilter inspeccione toda la solicitud HTTP en un solo paquete. El mismo paquete no coincidirá con 'GET /' y 'Host :*' ya que esa carga útil se distribuye a través de varios paquetes.

Considere la siguiente lista de reglas:

-A OUTPUT -p tcp -m tcp --dport 80 -j URLFILTER # would be FORWARD in your case
-A URLFILTER -m string --string "Host: www.kernel.org" --algo bm --from 1 --to 500 --icase -j LOG --log-prefix UF_MATCHHOST
-A URLFILTER -m string --string "GET /" --algo bm --from 1 --to 500 --icase -j LOG --log-prefix UF_MATCHGET

Una llamada HTTP a www.kernel.org así

GET / HTTP/1.0
Host: www.kernel.org

Coincidirá con ambas reglas en orden inverso, demostrando que la cadena URLFILTER fue atravesada por más de un paquete; El primero con la cadena GET y el segundo con la cadena Host. Por lo tanto, no puede hacer coincidir simultáneamente GET y Host sin más trabajo.

[471493.767020] UF_MATCHGETIN= OUT=enp0s31f6 SRC=192.168.20.204 DST=147.75.205.195 LEN=67 TOS=0x00 PREC=0x00 TTL=64 ID=65494 DF PROTO=TCP SPT=51624 DPT=80 WINDOW=229 RES=0x00 ACK PSH URGP=0 
[471499.761216] UF_MATCHHOSTIN= OUT=enp0s31f6 SRC=192.168.20.204 DST=147.75.205.195 LEN=73 TOS=0x00 PREC=0x00 TTL=64 ID=65495 DF PROTO=TCP SPT=51624 DPT=80 WINDOW=229 RES=0x00 ACK PSH URGP=0 

Tal vez podría rastrear cada conexión que coincida con GET / y hacer coincidir los siguientes paquetes, creo que eso sería posible.

Netfilter puede hacer esto por usted, pero está lejos de ser la mejor herramienta para el trabajo.

Respuesta original:

Tu

-A TCPFILTER -m string --string "GET /" --algo bm --from 1 --to 70 -j URLFILTER

la entrada no coincide, ¿está seguro de que puede hacer coincidir las cadenas con el tráfico HTTP sin procesar? ¿Puede ver la cadena usando tcpdump -vv? ¿Puedes probar una combinación más simple y ver si funciona?

La salida de wireshark que está mostrando es el paquete analizado, no lo que iptables ve necesariamente. Desea ver la carga útil hexadecimal/ascii del paquete para verificar dos veces -.

1
12.02.2019, 22:21
1 ответ

Как и в соответствующем посте, в bash установите расширенное подстановочное значение, затем спросите lsдля тех файлов, которые не заканчиваются на.config:

shopt -s extglob
ls -d -- !(*.config)

По умолчанию файлы, начинающиеся с точки (, точка, .), не отображаются; вы можете увидеть их, включив другую опцию оболочки:

shopt -s dotglob
3
28.04.2021, 23:37

Теги

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