{"id":9374,"date":"2020-10-22T10:00:18","date_gmt":"2020-10-22T17:00:18","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=9374"},"modified":"2020-10-25T01:01:30","modified_gmt":"2020-10-25T08:01:30","slug":"cbl-sync-protocol-examination-via-wireshark","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/cbl-sync-protocol-examination-via-wireshark\/","title":{"rendered":"Exame do protocolo de sincroniza\u00e7\u00e3o do Couchbase Lite via Wireshark"},"content":{"rendered":"<p>Durante o curso do desenvolvimento, muitas vezes \u00e9 \u00fatil examinar o que exatamente \u00e9 enviado pela rede entre as m\u00e1quinas.  Isso ajuda a realizar tarefas como encontrar a origem de um problema ou simplesmente entender a conversa.  Muitas vezes, a conversa usa um protocolo bem conhecido, como HTTP.  Entretanto, no Couchbase Mobile 2.0 e superior, a conversa ocorre usando um protocolo de sincroniza\u00e7\u00e3o chamado <a href=\"https:\/\/github.com\/couchbase\/couchbase-lite-core\/blob\/7bb2cff39f79168340dfde02a16ec7d9394d7e56\/Networking\/BLIP\/docs\/BLIP%20Protocol.md\">BLIP<\/a>transportado via soquete da Web.  Voc\u00ea pode pensar que isso torna a conversa totalmente opaca, mas na verdade <a href=\"https:\/\/www.wireshark.org\/#download\">wireshark<\/a> \u00e9 capaz de analisar mensagens BLIP.  Vamos dar uma olhada r\u00e1pida em como fazer isso.<\/p>\n<p>Antes de entrarmos nesse assunto, no entanto, preciso me isentar de algo.  As informa\u00e7\u00f5es aqui s\u00e3o apresentadas apenas para fins educacionais.  Voc\u00ea n\u00e3o deve confiar que esse formato ser\u00e1 sempre o mesmo.  N\u00f3s, da Couchbase, n\u00e3o temos nenhum contrato com os consumidores sobre isso, e ele est\u00e1 sujeito a altera\u00e7\u00f5es.  No entanto, \u00e0s vezes ainda \u00e9 bom poder ver o que est\u00e1 acontecendo.<\/p>\n<p><!--more--><\/p>\n<h4>Filtragem no BLIP<\/h4>\n<p>Esta publica\u00e7\u00e3o pressup\u00f5e que voc\u00ea saiba o b\u00e1sico sobre como usar o wireshark.  Qualquer vers\u00e3o 3.0.0 ou superior pode ser usada, mas as vers\u00f5es anteriores t\u00eam um bug que pode causar uma falha em mensagens compactadas grandes, portanto, recomenda-se a vers\u00e3o 3.2.7+ \/ 3.0.14+.  Voc\u00ea deve estar familiarizado com a forma de iniciar uma captura de rede.  Esta postagem come\u00e7a supondo que voc\u00ea j\u00e1 tenha feito uma.  Quando abrirmos sua captura para examinar, voc\u00ea ver\u00e1 algo parecido com a imagem a seguir.<\/p>\n<div id=\"attachment_9376\" style=\"width: 910px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/09\/Wireshark_Unfiltered.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9376\" class=\"size-large wp-image-9376\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/09\/Wireshark_Unfiltered-1024x205.png\" alt=\"A wireshark trace without a filter\" width=\"900\" height=\"180\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_Unfiltered-1024x205.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_Unfiltered-300x60.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_Unfiltered-768x154.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_Unfiltered-1536x308.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_Unfiltered-2048x410.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_Unfiltered-20x4.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_Unfiltered-1320x264.png 1320w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><p id=\"caption-attachment-9376\" class=\"wp-caption-text\">Esta \u00e9 a visualiza\u00e7\u00e3o que voc\u00ea provavelmente ver\u00e1 quando abrir um novo rastreamento<\/p><\/div>\n<p>Isso ocorre porque ainda n\u00e3o definimos nenhum filtro.  Todos os pacotes de todos os tipos est\u00e3o vis\u00edveis no momento. Se voc\u00ea observar, perto da parte superior h\u00e1 uma caixa de texto com o texto de dica \"Apply a display filter\" (Aplicar um filtro de exibi\u00e7\u00e3o).  O BLIP \u00e9 um formato de pacote compat\u00edvel, e voc\u00ea pode definir um filtro para mostrar somente mensagens BLIP.<\/p>\n<div id=\"attachment_9377\" style=\"width: 910px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/09\/Wireshark_BLIP_Filtered.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9377\" class=\"size-large wp-image-9377\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/09\/Wireshark_BLIP_Filtered-1024x202.png\" alt=\"A wireshark trace filtered to BLIP\" width=\"900\" height=\"178\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_BLIP_Filtered-1024x202.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_BLIP_Filtered-300x59.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_BLIP_Filtered-768x152.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_BLIP_Filtered-1536x303.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_BLIP_Filtered-2048x405.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_BLIP_Filtered-20x4.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_BLIP_Filtered-1320x261.png 1320w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><p id=\"caption-attachment-9377\" class=\"wp-caption-text\">Agora as coisas parecem mais gerenci\u00e1veis, mostrando apenas a conversa BLIP.<\/p><\/div>\n<p>Uma ressalva a isso \u00e9 que, como o BLIP usa soquetes da Web, ele n\u00e3o pode ser decodificado se a conversa inteira n\u00e3o estiver presente.  Em outras palavras, a solicita\u00e7\u00e3o HTTP inicial para o soquete da Web deve estar presente.  Por exemplo, se voc\u00ea alterar o filtro para <code>blip || http<\/code> ent\u00e3o voc\u00ea poder\u00e1 ver a primeira mensagem HTTP nessa conversa.<\/p>\n<div id=\"attachment_9378\" style=\"width: 910px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/09\/Wireshark_BLIP_HTTP_Filtered.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9378\" class=\"size-large wp-image-9378\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/09\/Wireshark_BLIP_HTTP_Filtered-1024x201.png\" alt=\"A wireshark trace filtered to BLIP and HTTP\" width=\"900\" height=\"177\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_BLIP_HTTP_Filtered-1024x201.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_BLIP_HTTP_Filtered-300x59.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_BLIP_HTTP_Filtered-768x151.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_BLIP_HTTP_Filtered-1536x302.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_BLIP_HTTP_Filtered-2048x403.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_BLIP_HTTP_Filtered-20x4.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Wireshark_BLIP_HTTP_Filtered-1320x260.png 1320w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><p id=\"caption-attachment-9378\" class=\"wp-caption-text\">Observe as duas entradas verdes na parte superior, que mostram uma mensagem HTTP de solicita\u00e7\u00e3o\/resposta para um soquete da Web.<\/p><\/div>\n<h4>Detalhes da mensagem<\/h4>\n<p>Ent\u00e3o, agora que uma conversa BLIP est\u00e1 aqui, o que h\u00e1 em uma mensagem BLIP?  Para responder a essa pergunta, vamos examinar o conte\u00fado de uma mensagem BLIP t\u00edpica:<\/p>\n<div id=\"attachment_9413\" style=\"width: 910px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/10\/Wireshark_BLIP_Details.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9413\" class=\"size-large wp-image-9413\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/10\/Wireshark_BLIP_Details-1024x158.png\" alt=\"Details of a BLIP message\" width=\"900\" height=\"139\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Wireshark_BLIP_Details-1024x158.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Wireshark_BLIP_Details-300x46.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Wireshark_BLIP_Details-768x118.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Wireshark_BLIP_Details-1536x237.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Wireshark_BLIP_Details-2048x315.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Wireshark_BLIP_Details-20x3.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Wireshark_BLIP_Details-1320x203.png 1320w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><p id=\"caption-attachment-9413\" class=\"wp-caption-text\">O conte\u00fado de uma mensagem BLIP t\u00edpica.<\/p><\/div>\n<p>De cima para baixo, temos os seguintes itens:<\/p>\n<ul>\n<li>N\u00famero da mensagem - Basicamente, a ID da mensagem que est\u00e1 sendo mencionada.  Isso \u00e9 importante para a pr\u00f3xima se\u00e7\u00e3o.<\/li>\n<li>Sinalizadores de quadro - Algumas informa\u00e7\u00f5es de metadados sobre a mensagem (Neste exemplo, o corpo est\u00e1 compactado e \u00e9 urgente.  Isso significa que ela ser\u00e1 tratada fora de ordem).<\/li>\n<li>Properties Length (Comprimento das propriedades) - O comprimento das propriedades da mensagem (as propriedades s\u00e3o codificadas como uma entrada de comprimento, seguida pelos dados do comprimento fornecido)<\/li>\n<li>Propriedades - As propriedades da mensagem (uma cole\u00e7\u00e3o de pares de valores-chave)<\/li>\n<li>Corpo da mensagem - O conte\u00fado real da mensagem.  Ocupa todo o restante da mensagem, exceto os \u00faltimos 4 bytes.<\/li>\n<li>Checksum - Um valor de checksum \u00e9 gravado para garantir que a mensagem seja recebida na ordem em que foi enviada e que o conte\u00fado do pacote n\u00e3o tenha sido malformado<\/li>\n<\/ul>\n<p>H\u00e1 6 tipos de mensagens que podem ser enviadas, indicadas pela forma como s\u00e3o marcadas na lista de pacotes:<\/p>\n<ul>\n<li>MSG - Uma nova mensagem<\/li>\n<li>RPY - Uma resposta [normal] a uma mensagem recebida<\/li>\n<li>ERR - Uma resposta de erro a uma mensagem recebida<\/li>\n<li>ACKMSG - Confirma\u00e7\u00e3o de progresso para o recebimento de uma mensagem longa de v\u00e1rios pacotes<\/li>\n<li>ACKRPY - Confirma\u00e7\u00e3o de progresso para receber uma resposta longa de v\u00e1rios pacotes<\/li>\n<\/ul>\n<h4>Seguindo uma conversa<\/h4>\n<p>Para fins de acompanhamento de uma determinada conversa, um aspecto importante a ser levado em conta \u00e9 que ambos os lados podem iniciar uma mensagem.  Isso aparecer\u00e1 na lista de mensagens do wireshark como <code>MSG#{NUM}<\/code>.  A maneira de saber qual lado enviou a mensagem \u00e9 observar os endere\u00e7os IP de origem e destino.  Por exemplo, em dois diagramas acima, voc\u00ea pode ver <code>MSG#2<\/code> como a terceira mensagem da lista.  Voc\u00ea tamb\u00e9m pode ver <code>MSG#2<\/code> como a pen\u00faltima mensagem da lista.  A diferen\u00e7a \u00e9 que a primeira entrada tem o IP de origem como 192.168.33.1 e o IP de destino como 192.168.33.11, e o \u00faltimo est\u00e1 invertido.  Isso indica que a primeira mensagem \u00e9 uma mensagem que o Couchbase Lite enviou ao Sync Gateway porque, na minha configura\u00e7\u00e3o, a inst\u00e2ncia do Sync Gateway est\u00e1 sendo executada em 192.168.33.11.  A segunda \u00e9 o oposto, uma mensagem que o Sync Gateway enviou ao Couchbase Lite.<\/p>\n<p>Depois de receber uma mensagem, uma das tr\u00eas coisas ocorrer\u00e1:<\/p>\n<ol>\n<li>A mensagem \u00e9 recebida, executada e finalizada normalmente.  Nesse caso, uma mensagem de resposta ser\u00e1 enviada com o mesmo n\u00famero de mensagem que a mensagem recebida.  Por exemplo, <code>MSG#2<\/code> receber\u00e1 um <code>RPY#2<\/code> (com os IPs de origem e destino invertidos).<\/li>\n<li>A mensagem \u00e9 recebida, mas n\u00e3o pode ser conclu\u00edda normalmente.  Nesse caso, uma mensagem de erro ser\u00e1 enviada com as mesmas condi\u00e7\u00f5es de #1.<\/li>\n<li>A mensagem tem um <code>N\u00e3oRepresenta\u00e7\u00e3o<\/code> em seus sinalizadores.  Nesse caso, nenhuma resposta \u00e9 enviada.<\/li>\n<\/ol>\n<p>Usando o exemplo acima, podemos ver que, na lista de mensagens, a mensagem imediatamente ap\u00f3s a primeira <code>MSG#2<\/code> \u00e9 <code>RPY#2<\/code> e, portanto, \u00e9 a resposta \u00e0 mensagem.  Da mesma forma, o primeiro <code>MSG#1<\/code> tem um <code>ERR#1<\/code> resposta, indicando que terminou com um erro.  Esse m\u00e9todo \u00e9 aplic\u00e1vel a ambos os lados da conversa, portanto, deve ser f\u00e1cil rastrear as mensagens de ida e volta em uma determinada conversa BLIP.<\/p>","protected":false},"excerpt":{"rendered":"<p>During the course of development it is often useful to examine what exactly is sent over the network between machines.\u00a0 This helps to perform tasks like finding the source of an issue or just simply understanding the conversation.\u00a0 Often times [&hellip;]<\/p>","protected":false},"author":67726,"featured_media":9525,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1810],"tags":[2034,1331,1562],"ppma_author":[9118],"class_list":["post-9374","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-mobile","tag-blip","tag-network","tag-replication"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.0 (Yoast SEO v26.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase Lite Sync Protocol Examination via Wireshark - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Wireshark has the ability to analyze sync protocol messages that occur during Couchbase Lite and Sync Gateway Replication. Find out how to make use of that!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/cbl-sync-protocol-examination-via-wireshark\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase Lite Sync Protocol Examination via Wireshark\" \/>\n<meta property=\"og:description\" content=\"Wireshark has the ability to analyze BLIP messages that occur during Couchbase Lite and Sync Gateway Replication. Find out how to make use of that!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/cbl-sync-protocol-examination-via-wireshark\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-22T17:00:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-10-25T08:01:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/10\/Couchbase-Lite-Sync-Protocol-Examination-via-Wireshark.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"627\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jim Borden, Principal Software Engineer, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Wireshark has the ability to analyze BLIP messages that occur during Couchbase Lite and Sync Gateway Replication. Find out how to make use of that!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Couchbase-Lite-Sync-Protocol-Examination-via-Wireshark-1.png\" \/>\n<meta name=\"twitter:creator\" content=\"@borrrden\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jim Borden, Principal Software Engineer, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/\"},\"author\":{\"name\":\"Jim Borden, Senior Software Engineer, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/403326eb3d3a8dfbdce18e17ba917f5b\"},\"headline\":\"Couchbase Lite Sync Protocol Examination via Wireshark\",\"datePublished\":\"2020-10-22T17:00:18+00:00\",\"dateModified\":\"2020-10-25T08:01:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/\"},\"wordCount\":982,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Wireshark_BLIP_Featured.png\",\"keywords\":[\"BLIP\",\"network\",\"replication\"],\"articleSection\":[\"Couchbase Mobile\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/\",\"name\":\"Couchbase Lite Sync Protocol Examination via Wireshark - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Wireshark_BLIP_Featured.png\",\"datePublished\":\"2020-10-22T17:00:18+00:00\",\"dateModified\":\"2020-10-25T08:01:30+00:00\",\"description\":\"Wireshark has the ability to analyze sync protocol messages that occur during Couchbase Lite and Sync Gateway Replication. Find out how to make use of that!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Wireshark_BLIP_Featured.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Wireshark_BLIP_Featured.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase Lite Sync Protocol Examination via Wireshark\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/403326eb3d3a8dfbdce18e17ba917f5b\",\"name\":\"Jim Borden, Senior Software Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/f60249485b16e1dc6d0219a0c47e54d7\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1c1fb225bfe3fe6743ca2bd8091dcead38558b2d4164003772042f8e12cdfccb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1c1fb225bfe3fe6743ca2bd8091dcead38558b2d4164003772042f8e12cdfccb?s=96&d=mm&r=g\",\"caption\":\"Jim Borden, Senior Software Engineer, Couchbase\"},\"description\":\"Senior Software Engineer @ Couchbase working on Couchbase Lite.\",\"sameAs\":[\"https:\/\/x.com\/borrrden\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/jim-borden\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase Lite Sync Protocol Examination via Wireshark - The Couchbase Blog","description":"O Wireshark pode analisar as mensagens do protocolo de sincroniza\u00e7\u00e3o que ocorrem durante a replica\u00e7\u00e3o do Couchbase Lite e do Sync Gateway. Descubra como fazer uso disso!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/pt\/cbl-sync-protocol-examination-via-wireshark\/","og_locale":"pt_BR","og_type":"article","og_title":"Couchbase Lite Sync Protocol Examination via Wireshark","og_description":"Wireshark has the ability to analyze BLIP messages that occur during Couchbase Lite and Sync Gateway Replication. Find out how to make use of that!","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/cbl-sync-protocol-examination-via-wireshark\/","og_site_name":"The Couchbase Blog","article_published_time":"2020-10-22T17:00:18+00:00","article_modified_time":"2020-10-25T08:01:30+00:00","og_image":[{"width":1200,"height":627,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/10\/Couchbase-Lite-Sync-Protocol-Examination-via-Wireshark.png","type":"image\/png"}],"author":"Jim Borden, Principal Software Engineer, Couchbase","twitter_card":"summary_large_image","twitter_description":"Wireshark has the ability to analyze BLIP messages that occur during Couchbase Lite and Sync Gateway Replication. Find out how to make use of that!","twitter_image":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Couchbase-Lite-Sync-Protocol-Examination-via-Wireshark-1.png","twitter_creator":"@borrrden","twitter_misc":{"Written by":"Jim Borden, Principal Software Engineer, Couchbase","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/"},"author":{"name":"Jim Borden, Senior Software Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/403326eb3d3a8dfbdce18e17ba917f5b"},"headline":"Couchbase Lite Sync Protocol Examination via Wireshark","datePublished":"2020-10-22T17:00:18+00:00","dateModified":"2020-10-25T08:01:30+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/"},"wordCount":982,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Wireshark_BLIP_Featured.png","keywords":["BLIP","network","replication"],"articleSection":["Couchbase Mobile"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/","url":"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/","name":"Couchbase Lite Sync Protocol Examination via Wireshark - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Wireshark_BLIP_Featured.png","datePublished":"2020-10-22T17:00:18+00:00","dateModified":"2020-10-25T08:01:30+00:00","description":"O Wireshark pode analisar as mensagens do protocolo de sincroniza\u00e7\u00e3o que ocorrem durante a replica\u00e7\u00e3o do Couchbase Lite e do Sync Gateway. Descubra como fazer uso disso!","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Wireshark_BLIP_Featured.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Wireshark_BLIP_Featured.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/cbl-sync-protocol-examination-via-wireshark\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase Lite Sync Protocol Examination via Wireshark"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/403326eb3d3a8dfbdce18e17ba917f5b","name":"Jim Borden, engenheiro de software s\u00eanior, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/f60249485b16e1dc6d0219a0c47e54d7","url":"https:\/\/secure.gravatar.com\/avatar\/1c1fb225bfe3fe6743ca2bd8091dcead38558b2d4164003772042f8e12cdfccb?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1c1fb225bfe3fe6743ca2bd8091dcead38558b2d4164003772042f8e12cdfccb?s=96&d=mm&r=g","caption":"Jim Borden, Senior Software Engineer, Couchbase"},"description":"Senior Software Engineer @ Couchbase working on Couchbase Lite.","sameAs":["https:\/\/x.com\/borrrden"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/jim-borden\/"}]}},"authors":[{"term_id":9118,"user_id":67726,"is_guest":0,"slug":"jim-borden","display_name":"Jim Borden, Principal Software Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/1c1fb225bfe3fe6743ca2bd8091dcead38558b2d4164003772042f8e12cdfccb?s=96&d=mm&r=g","author_category":"","last_name":"Borden, Principal Software Engineer, Couchbase","first_name":"Jim","job_title":"","user_url":"","description":"Engenheiro de software principal da Couchbase trabalhando no Couchbase Lite."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/9374","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/67726"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=9374"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/9374\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/9525"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=9374"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=9374"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=9374"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=9374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}