Se você está no linux, é bem fácil. Durante o processo de sincronização, você pode fazer:
find $HOME/dropbox_sync_dir -type f -exec dropbox.py file status -a '{}' \; | grep 'syncing'
Explicando detalhes:
-
find <path> -type f -exec dropbox.py ... '{}' \;
Executa dropbox.py
em cada arquivo ou abaixo do diretório atual.
Notice that the braces are enclosed in single quote marks to protect them from interpretation as shell script punctuation. The semicolon is similarly protected by the use of a backslash, though single quotes could have been used in that case also.
Mais em homem encontre páginas
-
dropbox.py file status -a
do manual do cliente do dropbox linux :dropbox file status [-l] [-a] [FILE]… Prints the current status of each FILE. Options: -l or --list prints out information in a format similar to the native Linux command ls. -a or --all do not ignore entries starting with "."
Os aliases incluem stat.
-
| grep 'syncing'
Procura pela string 'syncing'.
Nota: que a extremidade .py não deve ser obrigatória, deve haver um alias, por isso, apenas dropbox
deve ser suficiente.
Primeira edição - reedite devido ao comentário de Paul sobre dropboxd (daemon) vs. dropbox.py.
Essa continua sendo a maneira mais provável de descobrir o que está sendo transferido.
Tentarei depurá-lo quando terminar minhas tarefas pendentes.
O dropbox.py
deve ser depurado via pdb
(o depurador python) para mais em depurador python .
Finalmente, depois dos comentários de Paul, entendi onde está o cerne da questão. Ele quer ver o arquivo acessado atualmente ou ainda melhor aquele que está sendo transferido pelo cliente de sincronização da caixa de depósito.
-
Você pode encontrar todos os arquivos usados pelo cliente do dropbox atualmente usado:
ls -thal /proc/'pgrep dropbox'/fd | egrep -v 'socket:|pipe:|anon_inode|/dev/'
-
Se você não consegue ver nada, isso significa que provavelmente há algo errado com o cliente. Eu recomendaria realizar strace .
To monitor your dropboxd script with output save into output.txt file: 'strace -o output.txt dropboxd' To monitor only system calls you could enter: 'strace -e open dropboxd'
-
Se você quiser ir ainda mais fundo, poderá anexar um depurador ,
gdb
para sua sessãostrace
.Se você não estiver familiarizado com esse processo, pode verificar, por exemplo, esta postagem sobre o unix
strace
egdb
.
Apenas uma ajuda rápida:
Quando você inicia seu rastreio com: strace dropboxd
(a execução do pid seria 501)
Então você anexa a ele da seguinte maneira:
$ gdb --quiet
(gdb) attach 501
- Se tudo mais falhar, você pode usar outras maneiras de sincronizar sua caixa de depósito:
Por exemplo, use um cliente CLI diferente, como dbxcli .
Segunda edição & Forth Edit - não funcionará até que o dropbox suporte as próprias chaves privadas.
Responda pelo suporte da caixa de depósito:
O Dropbox não suporta a criação de suas próprias chaves privadas.
Ocorreu-me que deveria ser possível verificar o que é transferido, mesmo via ferramenta de monitoramento de rede como wireshark
.
Como o cliente do dropbox está usando SSL / TSL (ou AES) A arquitetura de segurança do dropbox e você deve ter a chave para verificar.
Para obter detalhes sobre como usar wireshare
, você pode verificar https://wiki.wireshark.org/SSL
ou ajustar este exemplo ao seu caso Analisar o tráfego de clientes SSL / TLS do cliente . Em você tem certificado dropbox você poderia importá-lo em wireshark para ver o que está acontecendo. (Para detalhes de segurança da caixa de depósito, você pode verificar o whitepaper de segurança do Dropbox .
Terceiro Editar & Forth edit - detalhes sobre a descriptografia SSL / TSL. (não funcionará até que o dropbox suporte as próprias chaves privadas.)
Responda pelo suporte da caixa de depósito:
O Dropbox não suporta a criação de suas próprias chaves privadas.
Na segunda seção de edição, sugeri que você possa visualizar o tráfego SSL via wireshark. Já que Paul pensou que eu estou sugerindo que você deveria hackear o DH key exchange
, que com o conhecimento atual não é possível, eu gostaria de corrigi-lo.
O que estou tentando sugerir é que, se você estiver usando o RSA da empresa de caixa de entrada e a autenticação RSA , você poderia tentar usar o dropboxd with RSA key
(o daemon dropboxd é de código fechado, eu não posso verificar o código-fonte se a funcionalidade estiver lá e provavelmente a melhor solução é perguntar diretamente ao dropbox.com).
Se isso for possível, importe o RSA key
para o wireshark para ver o que está sendo transferido no momento.