PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > fr.comp.lang.python > Surveillance fichier : quel user ?
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Surveillance fichier : quel user ?

Réponse
 
LinkBack Outils de la discussion
Vieux 18/10/2007, 16h53   #1
Sébastien Weber
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Surveillance fichier : quel user ?

Bonjour,

Je suis en train d'écrire une appli qui utilise pyinotify pour surveiller
un répertoire dont l'utilisation au sein de ma boite est, disons,
problématique.
Si pyinotify me permet de savoir très finement les événements qui ont
lieu sur et dans ce répertoire (modification, accès, suppression, etc.),
en revanche il ne me donne pas les uid des utilisateurs à l'origine de
ces événements. Et c'est bien cela qui m'intéresse.
Je cherche depuis deux jours sur Google une librairie qui permette
d'obtenir ce genre d'informations — un genre de lsof, en plus fin —, mais
pour le moment, je sèche.
Quelqu'un aurait-il une idée ?

SW
  Réponse avec citation
Vieux 18/10/2007, 20h42   #2
jean-michel bain-cornu
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Bonsoir,
> Je suis en train d'écrire une appli qui utilise pyinotify pour surveiller
> un répertoire dont l'utilisation au sein de ma boite est, disons,
> problématique.
> Si pyinotify me permet de savoir très finement les événements qui ont
> lieu sur et dans ce répertoire (modification, accès, suppression, etc.),
> en revanche il ne me donne pas les uid des utilisateurs à l'origine de
> ces événements. Et c'est bien cela qui m'intéresse.
> Je cherche depuis deux jours sur Google une librairie qui permette
> d'obtenir ce genre d'informations — un genre de lsof, en plus fin —, mais
> pour le moment, je sèche.
> Quelqu'un aurait-il une idée ?


Si le répertoire est partagé sous linux par samba, il devrait y avoir
moyen de bricoler un truc avec la log ?
  Réponse avec citation
Vieux 18/10/2007, 20h42   #3
jean-michel bain-cornu
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Bonsoir,
> Je suis en train d'écrire une appli qui utilise pyinotify pour surveiller
> un répertoire dont l'utilisation au sein de ma boite est, disons,
> problématique.
> Si pyinotify me permet de savoir très finement les événements qui ont
> lieu sur et dans ce répertoire (modification, accès, suppression, etc.),
> en revanche il ne me donne pas les uid des utilisateurs à l'origine de
> ces événements. Et c'est bien cela qui m'intéresse.
> Je cherche depuis deux jours sur Google une librairie qui permette
> d'obtenir ce genre d'informations — un genre de lsof, en plus fin —, mais
> pour le moment, je sèche.
> Quelqu'un aurait-il une idée ?


Si le répertoire est partagé sous linux par samba, il devrait y avoir
moyen de bricoler un truc avec la log ?
  Réponse avec citation
Vieux 18/10/2007, 22h31   #4
Méta-MCI (MVP)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Bonsoir !

Si tu es sous Windows, il existe un système de notification par WMI des évènements sur un/des
fichier(s).
Malheureusement, Python se prête mal à l'utilisation de cette technique, car il faut envoyer une
fonction-callback au système, et ensuite, mettre Python en écoute, ce qui est loin d'être évident.
Néanmoins, si tu trouves qq chose dans cette direction, je lirais volontiers le code-source.

@+

Michel Claveau



  Réponse avec citation
Vieux 18/10/2007, 22h31   #5
Méta-MCI (MVP)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Bonsoir !

Si tu es sous Windows, il existe un système de notification par WMI des évènements sur un/des
fichier(s).
Malheureusement, Python se prête mal à l'utilisation de cette technique, car il faut envoyer une
fonction-callback au système, et ensuite, mettre Python en écoute, ce qui est loin d'être évident.
Néanmoins, si tu trouves qq chose dans cette direction, je lirais volontiers le code-source.

@+

Michel Claveau



  Réponse avec citation
Vieux 18/10/2007, 23h39   #6
Sébastien Weber
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Le Thu, 18 Oct 2007 23:31:43 +0200, Méta-MCI (MVP) a écritÂ:

> Bonsoir !
>
> Si tu es sous Windows, il existe un système de notification par WMI des
> évènements sur un/des fichier(s).
> Malheureusement, Python se prête mal à l'utilisation de cette technique,
> car il faut envoyer une fonction-callback au système, et ensuite, mettre
> Python en écoute, ce qui est loin d'être évident. Néanmoins, si tu
> trouves qq chose dans cette direction, je lirais volontiers le
> code-source.
>
> @+
>
> Michel Claveau


Pour le moment, je ne trouve rien : je suis sous Linux et si le système
de notification d'accès à un fichier est plutôt simple à mettre en place
avec pyinotify, en revanche dès qu'il s'agit de savoir qui (uid du user)
touche au fichier, on rentre dans les appels système et ça devient plus
que corsé, franchement dangereux. Pour le moment, les seuls trucs que
j'ai dénichés qui répondent un peu à ma recherche, ce sont les rootkits
qui captent les appels systèmes, mais leur utilisation est drôlement
coton, surtout qu'en l'occurrence il faut intervenir sur un serveur en
production.
Cela dit, promis, si je trouve quelque chose, je te tiens au courant.
SW.
  Réponse avec citation
Vieux 18/10/2007, 23h39   #7
Sébastien Weber
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Le Thu, 18 Oct 2007 23:31:43 +0200, Méta-MCI (MVP) a écritÂ:

> Bonsoir !
>
> Si tu es sous Windows, il existe un système de notification par WMI des
> évènements sur un/des fichier(s).
> Malheureusement, Python se prête mal à l'utilisation de cette technique,
> car il faut envoyer une fonction-callback au système, et ensuite, mettre
> Python en écoute, ce qui est loin d'être évident. Néanmoins, si tu
> trouves qq chose dans cette direction, je lirais volontiers le
> code-source.
>
> @+
>
> Michel Claveau


Pour le moment, je ne trouve rien : je suis sous Linux et si le système
de notification d'accès à un fichier est plutôt simple à mettre en place
avec pyinotify, en revanche dès qu'il s'agit de savoir qui (uid du user)
touche au fichier, on rentre dans les appels système et ça devient plus
que corsé, franchement dangereux. Pour le moment, les seuls trucs que
j'ai dénichés qui répondent un peu à ma recherche, ce sont les rootkits
qui captent les appels systèmes, mais leur utilisation est drôlement
coton, surtout qu'en l'occurrence il faut intervenir sur un serveur en
production.
Cela dit, promis, si je trouve quelque chose, je te tiens au courant.
SW.
  Réponse avec citation
Vieux 18/10/2007, 23h40   #8
Amaury Forgeot d'Arc
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Méta-MCI (MVP) a écrit :
> Bonsoir !
>
> Si tu es sous Windows, il existe un système de notification par WMI des
> évènements sur un/des fichier(s).
> Malheureusement, Python se prête mal à l'utilisation de cette technique,
> car il faut envoyer une fonction-callback au système, et ensuite, mettre
> Python en écoute, ce qui est loin d'être évident. Néanmoins, si tu
> trouves qq chose dans cette direction, je lirais volontiers le code-source.


Windows propose les fonctions de la famille FindFirstChangeNotification,
qui fonctionne avec des types simples.

Et google m'a même trouvé quelqu'un qui l'utilise sous Python:
http://tgolden.sc.sabren.com/python/...r_changes.html

(Eh, en voilà un site intéressant pour ceux qui font du python sous
windows. Il y a plusieurs trucs à retenir)

--
Amaury
  Réponse avec citation
Vieux 18/10/2007, 23h40   #9
Amaury Forgeot d'Arc
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Méta-MCI (MVP) a écrit :
> Bonsoir !
>
> Si tu es sous Windows, il existe un système de notification par WMI des
> évènements sur un/des fichier(s).
> Malheureusement, Python se prête mal à l'utilisation de cette technique,
> car il faut envoyer une fonction-callback au système, et ensuite, mettre
> Python en écoute, ce qui est loin d'être évident. Néanmoins, si tu
> trouves qq chose dans cette direction, je lirais volontiers le code-source.


Windows propose les fonctions de la famille FindFirstChangeNotification,
qui fonctionne avec des types simples.

Et google m'a même trouvé quelqu'un qui l'utilise sous Python:
http://tgolden.sc.sabren.com/python/...r_changes.html

(Eh, en voilà un site intéressant pour ceux qui font du python sous
windows. Il y a plusieurs trucs à retenir)

--
Amaury
  Réponse avec citation
Vieux 18/10/2007, 23h51   #10
Sébastien Weber
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Le Thu, 18 Oct 2007 21:42:59 +0200, jean-michel bain-cornu a écritÂ:

> Bonsoir,
>> Je suis en train d'écrire une appli qui utilise pyinotify pour
>> surveiller un répertoire dont l'utilisation au sein de ma boite est,
>> disons, problématique.
>> Si pyinotify me permet de savoir très finement les événements qui ont
>> lieu sur et dans ce répertoire (modification, accès, suppression,
>> etc.), en revanche il ne me donne pas les uid des utilisateurs Ã
>> l'origine de ces événements. Et c'est bien cela qui m'intéresse. Je
>> cherche depuis deux jours sur Google une librairie qui permette
>> d'obtenir ce genre d'informations — un genre de lsof, en plus fin —,
>> mais pour le moment, je sèche.
>> Quelqu'un aurait-il une idée ?

>
> Si le répertoire est partagé sous linux par samba, il devrait y avoir
> moyen de bricoler un truc avec la log ?


J'y ai pensé, d'autant plus qu'il s'agit de surveiller un répertoire
partagé. Mais le hic de, par exemple, smbstatus, c'est qu'il recense les
accès aux partages et les fichiers lockés, mais pas la suppression d'un
fichier ou d'un sous-répertoire. Quant aux logs, ils sont inexploitables
pour la simple raison qu'ils portent en général le nom de la machine
cliente.
  Réponse avec citation
Vieux 18/10/2007, 23h51   #11
Sébastien Weber
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Le Thu, 18 Oct 2007 21:42:59 +0200, jean-michel bain-cornu a écritÂ:

> Bonsoir,
>> Je suis en train d'écrire une appli qui utilise pyinotify pour
>> surveiller un répertoire dont l'utilisation au sein de ma boite est,
>> disons, problématique.
>> Si pyinotify me permet de savoir très finement les événements qui ont
>> lieu sur et dans ce répertoire (modification, accès, suppression,
>> etc.), en revanche il ne me donne pas les uid des utilisateurs Ã
>> l'origine de ces événements. Et c'est bien cela qui m'intéresse. Je
>> cherche depuis deux jours sur Google une librairie qui permette
>> d'obtenir ce genre d'informations — un genre de lsof, en plus fin —,
>> mais pour le moment, je sèche.
>> Quelqu'un aurait-il une idée ?

>
> Si le répertoire est partagé sous linux par samba, il devrait y avoir
> moyen de bricoler un truc avec la log ?


J'y ai pensé, d'autant plus qu'il s'agit de surveiller un répertoire
partagé. Mais le hic de, par exemple, smbstatus, c'est qu'il recense les
accès aux partages et les fichiers lockés, mais pas la suppression d'un
fichier ou d'un sous-répertoire. Quant aux logs, ils sont inexploitables
pour la simple raison qu'ils portent en général le nom de la machine
cliente.
  Réponse avec citation
Vieux 19/10/2007, 11h01   #12
Sébastien Weber
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Le Thu, 18 Oct 2007 15:53:58 +0000, Sébastien Weber a écritÂ:

> Bonjour,
>
> Je suis en train d'écrire une appli qui utilise pyinotify pour
> surveiller un répertoire dont l'utilisation au sein de ma boite est,
> disons, problématique.
> Si pyinotify me permet de savoir très finement les événements qui ont
> lieu sur et dans ce répertoire (modification, accès, suppression, etc.),
> en revanche il ne me donne pas les uid des utilisateurs à l'origine de
> ces événements. Et c'est bien cela qui m'intéresse. Je cherche depuis
> deux jours sur Google une librairie qui permette d'obtenir ce genre
> d'informations — un genre de lsof, en plus fin —, mais pour le moment,
> je sèche.
> Quelqu'un aurait-il une idée ?
>
> SW


J'ai trouvé : python-lib-audit qui permet, sur les noyau 2.6, d'accéder
aux fonctions d'audit du système. En revanche, pour la documentation,
c'est à tâtons.
  Réponse avec citation
Vieux 19/10/2007, 11h01   #13
Sébastien Weber
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Le Thu, 18 Oct 2007 15:53:58 +0000, Sébastien Weber a écritÂ:

> Bonjour,
>
> Je suis en train d'écrire une appli qui utilise pyinotify pour
> surveiller un répertoire dont l'utilisation au sein de ma boite est,
> disons, problématique.
> Si pyinotify me permet de savoir très finement les événements qui ont
> lieu sur et dans ce répertoire (modification, accès, suppression, etc.),
> en revanche il ne me donne pas les uid des utilisateurs à l'origine de
> ces événements. Et c'est bien cela qui m'intéresse. Je cherche depuis
> deux jours sur Google une librairie qui permette d'obtenir ce genre
> d'informations — un genre de lsof, en plus fin —, mais pour le moment,
> je sèche.
> Quelqu'un aurait-il une idée ?
>
> SW


J'ai trouvé : python-lib-audit qui permet, sur les noyau 2.6, d'accéder
aux fonctions d'audit du système. En revanche, pour la documentation,
c'est à tâtons.
  Réponse avec citation
Vieux 19/10/2007, 11h04   #14
jean-michel bain-cornu
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

> J'ai trouvé : python-lib-audit qui permet, sur les noyau 2.6, d'accéder
> aux fonctions d'audit du système. En revanche, pour la documentation,
> c'est à tâtons.


Je n'ai pas python-lib-audit dans google, as-tu un ptit lien ?
  Réponse avec citation
Vieux 19/10/2007, 11h04   #15
jean-michel bain-cornu
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

> J'ai trouvé : python-lib-audit qui permet, sur les noyau 2.6, d'accéder
> aux fonctions d'audit du système. En revanche, pour la documentation,
> c'est à tâtons.


Je n'ai pas python-lib-audit dans google, as-tu un ptit lien ?
  Réponse avec citation
Vieux 19/10/2007, 12h14   #16
Sébastien Weber
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Le Fri, 19 Oct 2007 12:04:32 +0200, jean-michel bain-cornu a écritÂ:

>> J'ai trouvé : python-lib-audit qui permet, sur les noyau 2.6, d'accéder
>> aux fonctions d'audit du système. En revanche, pour la documentation,
>> c'est à tâtons.

>
> Je n'ai pas python-lib-audit dans google, as-tu un ptit lien ?


http://rpmfind.net/linux/rpm2html/se...&submit=Search
+...&system=&arch=

Je suis passé par Yast (sous OpenSuse) pour l'installer en cherchant
"audit"
Mais bon, pour l'instant je ne trouve aucune doc et l'utilisation me
reste encore complètement obscure. Si tu dégottes un howto quelconque ou
des exemples, je suis preneur.

SW
  Réponse avec citation
Vieux 19/10/2007, 12h14   #17
Sébastien Weber
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Le Fri, 19 Oct 2007 12:04:32 +0200, jean-michel bain-cornu a écritÂ:

>> J'ai trouvé : python-lib-audit qui permet, sur les noyau 2.6, d'accéder
>> aux fonctions d'audit du système. En revanche, pour la documentation,
>> c'est à tâtons.

>
> Je n'ai pas python-lib-audit dans google, as-tu un ptit lien ?


http://rpmfind.net/linux/rpm2html/se...&submit=Search
+...&system=&arch=

Je suis passé par Yast (sous OpenSuse) pour l'installer en cherchant
"audit"
Mais bon, pour l'instant je ne trouve aucune doc et l'utilisation me
reste encore complètement obscure. Si tu dégottes un howto quelconque ou
des exemples, je suis preneur.

SW
  Réponse avec citation
Vieux 19/10/2007, 23h45   #18
Méta-MCI (MVP)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Bonsoir !

Et bien, merci beaucoup pour le lien.
Il y a un excellent exemple d'attente d'un évènement Windows (par win32event.WaitForSingleObject)
depuis Python.
Il suffit de mettre ça dans un thread (si c'est thread-safe...), pour construire des trucs
intéressant.

@-salutations

Michel Claveau



PS : j'avais déjà vu ce site, mais pas cette page.


  Réponse avec citation
Vieux 19/10/2007, 23h45   #19
Méta-MCI (MVP)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Bonsoir !

Et bien, merci beaucoup pour le lien.
Il y a un excellent exemple d'attente d'un évènement Windows (par win32event.WaitForSingleObject)
depuis Python.
Il suffit de mettre ça dans un thread (si c'est thread-safe...), pour construire des trucs
intéressant.

@-salutations

Michel Claveau



PS : j'avais déjà vu ce site, mais pas cette page.


  Réponse avec citation
Vieux 20/10/2007, 12h06   #20
Amaury Forgeot d'Arc
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Méta-MCI (MVP) a écrit :
> Bonsoir !
>
> Et bien, merci beaucoup pour le lien.
> Il y a un excellent exemple d'attente d'un évènement Windows (par
> win32event.WaitForSingleObject) depuis Python.
> Il suffit de mettre ça dans un thread (si c'est thread-safe...), pour
> construire des trucs intéressant.


Euh... je ne vois pas l'intérêt du thread. WaitForSingleObject est
justement la fonction qui permet à deux threads de communiquer.

--
Amaury
  Réponse avec citation
Vieux 20/10/2007, 12h06   #21
Amaury Forgeot d'Arc
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Méta-MCI (MVP) a écrit :
> Bonsoir !
>
> Et bien, merci beaucoup pour le lien.
> Il y a un excellent exemple d'attente d'un évènement Windows (par
> win32event.WaitForSingleObject) depuis Python.
> Il suffit de mettre ça dans un thread (si c'est thread-safe...), pour
> construire des trucs intéressant.


Euh... je ne vois pas l'intérêt du thread. WaitForSingleObject est
justement la fonction qui permet à deux threads de communiquer.

--
Amaury
  Réponse avec citation
Vieux 20/10/2007, 12h14   #22
Frédéric Momméja
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Bonjour,

Sébastien Weber a écrit :
> Mais bon, pour l'instant je ne trouve aucune doc et l'utilisation me
> reste encore complètement obscure. Si tu dégottes un howto quelconque ou
> des exemples, je suis preneur.


Sur le site de l'éditeur :
http://www.roseslabs.com/en/freesoftware.html#wal

en téléchargeant le fichier RLWAL04.zip, il y a un dossier "doc" en anglais.

--
Frédéric Momméja
  Réponse avec citation
Vieux 20/10/2007, 12h14   #23
Frédéric Momméja
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Bonjour,

Sébastien Weber a écrit :
> Mais bon, pour l'instant je ne trouve aucune doc et l'utilisation me
> reste encore complètement obscure. Si tu dégottes un howto quelconque ou
> des exemples, je suis preneur.


Sur le site de l'éditeur :
http://www.roseslabs.com/en/freesoftware.html#wal

en téléchargeant le fichier RLWAL04.zip, il y a un dossier "doc" en anglais.

--
Frédéric Momméja
  Réponse avec citation
Vieux 20/10/2007, 15h14   #24
Sébastien Weber
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Le Sat, 20 Oct 2007 13:14:43 +0200, Frédéric Momméja a écritÂ:

> Bonjour,
>
> Sébastien Weber a écrit :
>> Mais bon, pour l'instant je ne trouve aucune doc et l'utilisation me
>> reste encore complètement obscure. Si tu dégottes un howto quelconque
>> ou des exemples, je suis preneur.

>
> Sur le site de l'éditeur :
> http://www.roseslabs.com/en/freesoftware.html#wal
>
> en téléchargeant le fichier RLWAL04.zip, il y a un dossier "doc" en
> anglais.


Merci beaucoup pour ce lien fort utile. Mais il ne s’agit pas du tout du
module lib-audit.
SW
  Réponse avec citation
Vieux 20/10/2007, 15h14   #25
Sébastien Weber
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Surveillance fichier : quel user ?

Le Sat, 20 Oct 2007 13:14:43 +0200, Frédéric Momméja a écritÂ:

> Bonjour,
>
> Sébastien Weber a écrit :
>> Mais bon, pour l'instant je ne trouve aucune doc et l'utilisation me
>> reste encore complètement obscure. Si tu dégottes un howto quelconque
>> ou des exemples, je suis preneur.

>
> Sur le site de l'éditeur :
> http://www.roseslabs.com/en/freesoftware.html#wal
>
> en téléchargeant le fichier RLWAL04.zip, il y a un dossier "doc" en
> anglais.


Merci beaucoup pour ce lien fort utile. Mais il ne s’agit pas du tout du
module lib-audit.
SW
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 14h42.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,30459 seconds with 33 queries