Compartir a través de


Métodos descodificados

Última modificación: martes, 23 de marzo de 2010

Hace referencia a: SharePoint Foundation 2010

Las secciones descodificadas de esta referencia no muestran el código que realmente se ve cuando se usa un programa como Monitor de red, lo que permite examinar el tráfico de red hacia y desde el servidor en el nivel de paquete y capturar así los paquetes entre las Extensiones de servidor de FrontPage de Microsoft y una aplicación cliente como Microsoft Office FrontPage 2003. En este tema se describe el código que se observa en un programa de captura de paquetes y los pasos realizados en esta referencia para que estos ejemplos sean legibles.

Nota

En función del sistema operativo y el programa que se use, puede filtrar los paquetes ya sea como paquetes HTTP o TCP. Si usa TCP como filtro, debe inspeccionar cada paquete TCP para el comando HTTP POST. Por ejemplo, en los sistemas UNIX, el protocolo HTTP siempre se incrusta en el paquete TCP.

El primer paquete que se captura suele ser HTTP POST. Éste viene seguido por un paquete persistente. El último paquete o conjunto de paquetes que se va a transmitir contiene el código devuelto del método. El código devuelto siempre se muestra como una o más páginas HTML. La mayoría de los códigos devueltos incluyen metaclaves con información acerca de los datos que se transmiten.

Cada solicitud POST enviada por una aplicación cliente mediante Microsoft SharePoint Foundation o las Extensiones de servidor de FrontPage de Microsoft incluye una cadena que especifica el método RPC que debe ejecutarse y todos los parámetros necesarios para el método. Por ejemplo, aquí se muestra un ejemplo de POST que implementa las Extensiones de servidor de FrontPage:

POST./site_url/_vti_bin/_vti_aut/author.dll 
HTTP/1.0CRLF
Date: Thu, 03 Dec 2003 19:09:16 GMTCRLF
MIME-Version: 1.0CRLF
User-Agent: MSFrontPage/6.0CRLF
Host: server_nameCRLF
Accept: auth/sicilyCRLF
Authorization: Basic cm9iZjpUS3NvKjUwCRLF
Content-Length: 343CRLF
Content-Type: application/x-www-form-urlencodedCRLF
X-Vermeer-Content-Type: application/x-www-form-urlencodedCRLF
method=list+documents%3a6%2e0%2e2%2e5420service%5
fname=%2fallnew&listHiddenDocs=false&listExplorerDocs=
   false&listRecurse=false&listFiles=true&listFolders=true
&listLinkInfo=true&listIncludeParent=true&listDerived=
   false&listBorders=false&listChildWebs=true
&initialUrl=&platform=WinI386&folderList=
   %5b%3bTW%7c09+Nov+1998+17%3a03%3a25+%2d0000%5d.LF

En el ejemplo anterior, se muestra el formato enviado por la aplicación cliente. Sin embargo, al capturar POST mediante un programa, como por ejemplo Monitor de red, se muestra del modo siguiente:

POST./site_url/_vti_bin/_vti_aut/author.dll.HTTP/1.0..Date:.Tue,.19.Jan.2003.19:58:GMT.. 
MIME-Version:.1.0..User-Agent:.MSFrontPage/6.0..Host:.v-rfrank3.. 
Accept:.auth/sicily..Authorization:.Basic.di1yZnJhbms6VEtzbzUwKg==.. 
Content-Length:.317..Content-Type:.application/x-www-form-urlencode.. 
X-Vermeer-Content-Type:.application/x-www-form-urlencoded.... 
method=list+documents%3a6%2e0%2e2%2e5420&service%5fname=&listHiddenDocs=false 
&listExplorerDocs=false&listRecurse=false&listFiles=true&listFolders=true 
&listLinkInfo=true&listIncludeParent=true&listDerived=false&listBorders=false 
&listChildWebs=true&initialUrl=&folderList=%5b%3bTW%7c13+Jan+2003+16%3a16%3a17+%2d0000%5d.

En el ejemplo anterior se muestra una secuencia de datos que inicialmente están incrustada en otro código de la siguiente forma:

00000030 50 4F 53 54 20 2F 70 72 6F 64 
POST./site_url/ 00000040 39 38 2F 5F 76 74 69 5F 62 69 6E 2F 5F 76 74 69 
98/_vti_bin/_vti 00000050 5F 61 75 74 2F 61 75 74 68 6F 72 2E 64 6C 6C 20 
_aut/author.dll. 00000060 48 54 54 50 2F 31 2E 30 0D 0A 44 61 74 65 3A 20 
HTTP/1.0..Date:. 00000070 54 75 65 2C 20 31 39 20 4A 61 6E 20 31 39 39 39 
Tue,.19.Jan.2003 00000080 20 32 30 3A 33 35 3A 32 36 20 47 4D 54 0D 0A 4D 
.19:58:GMT..M

Para que este tipo de código sea más legible para su uso en la referencia, se realizan varios cambios. En primer lugar, el código del inicio de cada línea se elimina para mostrar el comando POST. A continuación, se quitan todos los saltos de línea restantes para formar una secuencia de datos. Seguidamente, los saltos de línea se agregan de nuevo para que sea más legible. Los puntos (.) de esta secuencia representan caracteres de control o espacios y también se eliminan. En el ejemplo siguiente, se muestra el resultado de estos cambios, que sigue siendo difícil de comprender.

method=list+documents%3a6%2e0%2e2%2e5420&service%5fname=%2fallnew&listHiddenDocs=false 
&listExplorerDocs=false&listRecurse=false&listFiles=true&listFolders=true 
&listLinkInfo=true&listIncludeParent=true&listDerived=false&listBorders=false 
&listChildWebs=true &initialUrl=&platform=WinI386 
&folderList=%5b%3bTW%7c09+Nov+2003+17%3a03%3a25+%2d0000%5d.

En la preparación final para su uso en la sección de descodificación de un tema de método, se realizan varios cambios más, lo cual tiene como resultado el formato siguiente:

POST./allnew/_vti_bin/_vti_aut/author.dll 
HTTP/1.0CRLF
.
.
.
method=list+documents:6.0.2.5420 &service_name=/allnew 
&listHiddenDocs=false &listExplorerDocs=false 
&listRecurse=false &listFiles=true 
&listFolders=true &listLinkInfo=true 
&listIncludeParent=true 
&listDerived=false &listBorders=false 
&listChildWebs=true &initialUrl= 
&platform=WinI386 &folderList=[;TW|09+Nov+2003+17:03:25+-0000]

En el ejemplo, se muestra el comando POST, así como el método y, en este caso, la ruta de acceso para el comando POST dirige el envío a author.dll. Los puntos suspensivos (...) representan las líneas de encabezado HTTP que se han quitado. El método y sus valores de parámetro conservan un formato legible.

Los saltos de línea se han agregado a las secciones de descodificación con fines de presentación en los temas de método.

Para obtener más información acerca del formato en el que se envía un comando POST, consulte Sintaxis de método.