Indice para Informe del radioenlace CRP - UPEA

1. Introducción

2. Diseño del radioenlace con Radiomobile

3. Implementación del radioenlace

4. Resultados prácticos

5. Conclusiones

6. Cuestiones planteadas, responder adecuadamente lo siguiente:

a) Realizar los cáculos necesarios en base a las formulas ya conocidas para establecer la viabilidad del radioenlace, considerar las hojas de datos de la radio R5H (http://routerboard.com). Comparar estos resultados con los obtenidos en la práctica.

b) Determine la altura adecuada para la instalación de las antenas en ambos extremos del radioenlace, considerando el perfil topográfico y los edificios existentes en la trayectoria. Utilice las coordenadas ubicando los puntos en el Google Earth.

Cargando dd-wrt a DIR320

El día de hoy compré un equipo DIR320 para realizar pruebas de rendimiento utilizando firmware openwrt y ddwrt que además soporten dispositivos USB.

El tema de openwrt, a mi gusto más flexible que ddwrt, lo dejaré para otro post. Por el momento les contaré como me fue cargando el dd-wrt.

Para gargar el firmware pueden utilizar el script para windows publicado en la página de openwrt:

@Echo Off
set DEFAULT_FW=firmware.bin
set FMFILE=%1
if X”%FMFILE%” == X”" (
set FMFILE=%DEFAULT_FW%
)

if NOT EXIST %FMFILE% (
echo.
echo  ERROR: File %FMFILE% does not exist
GOTO HELP
)
Goto BEGIN
:HELP
echo.
set FW_PARAM=firmware_file
echo Use %0 [%FW_PARAM%]
echo   By default %FW_PARAM% is %DEFAULT_FW%

Goto END
:BEGIN
echo ============================================
ping -n 1 -w 10 192.168.0.1
If ERRORLEVEL 1 Goto BEGIN
If ERRORLEVEL 0 Goto FLASH
Goto END
:FLASH
echo ============================================
echo *** Start Flashing ****
tftp -i 192.168.0.1 put firmware.bin
:END

El listado corresponde en mi caso al archivo fw.bat, pero ustedes pueden darle el nombre que mejor les parezca.

Para evitar el tiempo de reconocimiento de la interface ethernet en windows es conveniente utilizar un swich conectado a la ethernet de tu PC y a la LAN1 del router Dir320, así no tendrás problemas. Luego de tener esas conexiones sigue los pasos siguientes:

  1. Quitar la energia al Router Dir320
  2. Configurar la interface ethernet con una IP en el segmento 192.168.0.0/24, en mi caso 192.168.0.10/24; pues la IP del Router Dir320 es 192.168.0.1/24.
  3. Lanzar el script fw.bat con el comando siguiente: fw.bat <nombre del firmware>, en mi caso fw.bat dd-wrt.v24_usb_generic.bin
  4. Enchufar el Router Dir320 ya sea con el plug o con el adaptador, el script saldrá del loop en el ping a ejecutar el tftp yte saldrá el mensaje de que la transferencia del BIN se realizó sin problemas.
  5. Esperar unos minutos hasta que el firmware se instale en el Dir320, si quieres puedes hacer el seguimiento poniendo una IP adicional a tu interface ethernet conectada al swich en el segmento 192.168.1.0/24, en mi caso 192.168.1.10/24. Básicamente en una ventana de comandos deberias poner lo siguiente: ping 192.168.1.1 -t y esperar a que el Dir320 responda.
  6. c:\utils\d-link>ping 192.168.1.1 -t
    Haciendo ping a 192.168.1.1 con 32 bytes de datos:

    Respuesta desde 192.168.1.1: bytes=32 tiempo<1m TTL=64
    Respuesta desde 192.168.1.1: bytes=32 tiempo<1m TTL=64
    Respuesta desde 192.168.1.1: bytes=32 tiempo<1m TTL=64

  7. Una vez que obtengas respuesta al ping, puedes ingresar por http con la siguiente URL: http://192.168.1.1 , lo primero que te aparecerá es la ventana para cambiar el password que puedes setear en root/admin (user/password) y listo ya tendrás funcionando el ddwrt en el Dir320.
  8. Puedes ingresar via telnet: telnet 192.168.1.1:
  9. DD-WRT v24-sp2 mini (c) 2009 NewMedia-NET GmbH
    Release: 10/10/09 (SVN revision: 13064)

    DD-WRT login: root
    Password:
    ==========================================================

    ____  ___    __        ______ _____         ____  _  _
    | _ \| _ \   \ \      / /  _ \_   _| __   _|___ \| || |
    || | || ||____\ \ /\ / /| |_) || |   \ \ / / __) | || |_
    ||_| ||_||_____\ V  V / |  _ < | |    \ V / / __/|__   _|
    |___/|___/      \_/\_/  |_| \_\|_|     \_/ |_____|  |_|

    DD-WRT v24-sp2
    http://www.dd-wrt.com

    ==========================================================

    BusyBox v1.13.4 (2009-10-10 04:36:28 CEST) built-in shell (ash)
    Enter ‘help’ for a list of built-in commands.

    root@DD-WRT:~#

  10. COnfigura la opción USB en el Tab: service->USB, para probar coloca una flash USB que la reconocerá automáticamente:
  11. root@DD-WRT:~# ls /mnt/
    02.Conceptos basicos de la Telefonia IP - ori.ppt
    044af98a.key
    3816010-Iptables-Firewall.pdf
    8983304-Postfix-en-Debian.pdf
    Cotizacion.doc
    El Alto.docx
    EuroSolar
    Ivorna Castillo, Carlos - Curvas Elipticas.pdf
    Koricagua
    MANGLE-MK.JPG
    Mikrotik RouterOS transpare…pdf
    NICBolivia
    NOCSnataRosa.rsc
    PPPoE-MK.JPG
    PROYECTO WEB BOLVIA RURAL 25.07.09.doc
    PWDTecTel.txt
    Presentacion Academia CNA 2009.ppsx
    Seriales Nodo Norte.xls
    Seriales Xp Corporativo.txt
    Sicoes
    Upea
    boliviarural.org.ppt
    bootex.log
    caranavi.docx
    cepac
    convocatoria
    experiencia2.pdf
    iptables-tutorial.pdf
    iptables-tutorialeng.pdf
    iptables.pdf
    lartc.pdf
    nat-mk.jpg
    net
    nic
    pdf
    planificacion
    putty.exe
    radiomobile
    rm
    totalcmd
    upea-practica
    yap.rsc

Espero tus comentarios. Salu2

Taller de entrenamiento en la UPEA

Amigos, retomo de tiempo el blog y espero darle continuidad a muchos trabajos que dejé pendientes. Mucho del tiempo transcurrido lo dediqué a desplegar redes inalámbricas comunitarias. Estas redes, en todos los casos que implementé, intentan brindar acceso a servicios de conectividad de forma sostenible a sectores excluidos por los grandes operadores.

Hace unos días llevamos adelante la socialización de estas redes inalámbricas en un Taller de entrenamiento en RouterOS y Asterisk. Espero pasarles unas fotos del taller en los siguientes post.

El taller se llevó a cabo en la Universidad Publica de El Alto en Bolivia en el marco siguiente:

Objetivo

Los participantes de este taller estarán en capacidad de construir tecnologías de comunicación accesibles para su comunidad por medio del buen uso de todos los recursos disponibles. Particularmente los participantes desarrollaran capacidades para diseñar, implementar y gestionar redes inalámbricas basadas en el RouterOS de Mikrotik y servicios de VoIP basados en Asterisk.

Características

El carácter es de este taller es teórico-práctico, la teoría estará basada en la física de la radio y la arquitectura del RouterOS y Asterisk. La práctica de laboratorio será un componente indispensable además del conocimiento sobre iniciativas de emprendimientos inalámbricos de tipo social-comunitario.

Requisitos
Conocimiento a nivel básico de redes IP, GNU/Linux y sobre todo interés marcado en desarrollar emprendimientos inalámbricos.

Justificación
En nuestro contexto, debido a la baja cobertura de los operadores de telecomunicaciones se han desarrollado soluciones al problema de conectividad basadas en emprendimientos inalámbricos en las bandas ISM; sin embargo no se cuenta con el personal con entrenamiento suficiente para dar soporte técnico a estas iniciativas. El taller intentará suplir esta gran demanda.

En la última década el modelo de las telecomunicaciones plantea un paradigma orientado fuertemente en la apropiación tecnológica y basada fundamentalmente en estándares abiertos y software libre. Las telecomunicaciones han pasado de ser simplemente un interés comercial de las grandes operadoras a ser parte del interés comunitario con fuerte apropiación tecnológica. Tanto RouterOS de Mikrotik  como Asterisk, son una muestra de este nuevo paradigma.

Les paso los enlaces para acceder al material que utilizamos:

Presentación Redes Inalámbricas Comunitarias en Bolivia

Presentaciones y material de apoyo

Material de uso comun sobre RouterOS

Instalar OpenWRT en meraki-mini

Como saben el meraki mini (www.meraki.com) permite extender redes mesh con “cero” configuración. Este pequeño AP esta basado en el chip AR2315 y funciona de maravilla con una diversidad de firmwares de terceros, tiene nada menos que 8MB en flash y 16MB en RAM, además soporta PoE.

En este post les mostraré como instalar el OpenWRT en el meraki-mini.

Flashear el meraki mini con open-wrt, se puede hacer utilizando una conexión serial por el jtag, pero tambien utilizando la conexión ethernet. Hoy explicaré el segundo caso, debido a que no todos tienen el conector serial a jtag.

Antes que nada, conviene tener a mano todo lo necesario para la instalación:

  1. Un servidor tftp corriendo, en mi caso utilizo PumpKIN
  2. La imagen del Kamizaque openwrt, si descargan del sitio de openwrt no tendrán la interface web y tendran que instalar luego el paquete correspondiente. Para evitar esto pueden descargar de x-wrt. De todas formas les paso los dos enlaces:

    OpenWRT: http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/
    X-wrt: http://downloads.x-wrt.org/xwrt/kamikaze/7.09/atheros-2.6/

    En cualquier caso requerirán los siguientes archivos:

    openwrt-atheros-2.6-vmlinux.gz
    openwrt-atheros-2.6-root.jffs2-64k

  3. Cable de red conectado al meraki

Bien, comencemos. Lo primero es entrar al RedBoot del Meraki:

  1. Configurar la IP de la computadora conectada al Meraki: 192.168.84.9/24
  2. Abrir una terminal para hacer ping a la IP del Meraki: 192.168.84.1 (en windows seria: ping 192.168.84.1 -t)
  3. Tener preparado un cliente telnet en el puerto 9000, yo utilizo putty. Si usas el cliente telnet de windows deberias ejecutar telnet 192.168.84.1 9000
  4. Conecta el meraki al adaptador de corriente.
  5. Cuando veas que el meraki responde al ping (ver paso 2) lanza el cliente telnet. Debería conectarse inmediatamente y mostrate la siguiente pantalla:

== Executing boot script in 1.710 seconds - enter ^C to abort

^C

RedBoot>

Ok, ya estas en el RedBoot de Meraki, ahora verifica que las particiones: /storage, linux y rootfs no existen con el comando:

RedBoot> fis list

Name FLASH addr Mem addr Length Entry point
RedBoot 0xA8000000 0xA8000000 0×00030000 0×00000000
linux 0xA8030000 0×80041000 0×00180000 0×80041000
rootfs 0xA81B0000 0×80041000 0×00620000 0×80041000
FIS directory 0xA87D0000 0xA87D0000 0×0000F000 0×00000000
RedBoot config 0xA87DF000 0xA87DF000 0×00001000 0×00000000

Si las particiones existen puedes borrarlas con el comando:

RedBoot> fis delete <name>

Si el Meraki deja de responder, no lo reinicies, fijate simplemente la respuesta al ping en la terminal en algún momento vuelve a responder. En mi caso elimino por ejemplo la partición linux:

RedBoot> fis delete linux
Delete image ‘linux’ - continue (y/n)? y
… Erase from 0xa8030000-0xa81b0000: ……………………
… Erase from 0xa87d0000-0xa87e0000: .
… Program from 0×80ff0000-0×81000000 at 0xa87d0000: .
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0xA8000000 0xA8000000 0×00030000 0×00000000
rootfs 0xA81B0000 0×80041000 0×00620000 0×80041000
FIS directory 0xA87D0000 0xA87D0000 0×0000F000 0×00000000
RedBoot config 0xA87DF000 0xA87DF000 0×00001000 0×00000000

Bien, ahora comenzamos el proceso de flashing del Meraki, basicamente tiene 3 pasos: a) definición de las particiones, b) cargar el nuevo firmware mediante tftp y c) configurar el RedBoot para el arranque con el nuevo firmware. Aquí te paso los comandos necesarios:

a) Definición de particiones:

RedBoot> fis create -b 0×80041000 -l 0×100000 -f 0xa8050000 -e 0×80041000 -r 0×80041000 -n /storage
RedBoot> fis create -b 0×80041000 -l 0×340000 -f 0xa8150000 -e 0×80041000 -r 0×80041000 -n linux
RedBoot> fis create -b 0×80041000 -l 0×340000 -f 0xa8490000 -e 0×80041000 -r 0×80041000 -n rootfs

b) Cargando el nuevo firmware mediante tftp (los archivos openwrt-atheros-2.6-vmlinux.gz y openwrt-atheros-2.6-root.jffs2-64k deben estar en el directorio raiz del servidor tftp)

RedBoot> fis init
About to initialize [format] FLASH image system - continue (y/n)? y
RedBoot> load -r -b 0×80041000 -m tftp -h 192.168.84.9 openwrt-atheros-2.6-vmlinux.gz
RedBoot> fis create -r 0×80041000 -l 0×180000 -e 0×80041000 linux
RedBoot> load -r -b 0×80041000 -m tftp -h 192.168.84.9 openwrt-atheros-2.6-root.jffs2-64k
RedBoot> fis create -r 0×80041000 -l 0×620000 rootfs

c) Configuración para el arranque:

RedBoot> fconfig -d boot_script_data
boot_script_data:
.. whatever it currently is
Enter script, terminate with empty line
>> fis load -d linux
>> exec
>>
Update RedBoot non-volatile configuration - continue (y/n)? y
… Erase from 0xa87d0000-0xa87e0000: .
… Program from 0×80ff0000-0×81000000 at 0xa87d0000: .

Reiniciar:

RedBoot> reset

En este punto debes cambiar la IP de tu maquina para poder acceder al openwrt, la IP por defecto del openwrt es 192.168.1.1

login as: root
root@192.168.1.1’s password:

BusyBox v1.4.2 (2007-10-24 12:07:44 CDT) Built-in shell (ash)
Enter ‘help’ for a list of built-in commands.

_______ ________ __
| |.—–.—–.—–.| | | |.—-.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
KAMIKAZE (7.09) ———————————–
* 10 oz Vodka Shake well with ice and strain
* 10 oz Triple sec mixture into 10 shot glasses.
* 10 oz lime juice Salute!
—————————————————
root@OpenWrt:~#

Ahora ingresa a la administración web y cambia la contraseña.

Estructura básica del archivo de licencia APRouter

Hace algun tiempo les prometí esta entrega. Con todo no me dediqué a desentrañar la estructura completa del archivo de licencia sino solamente aquellos bytes necesarios para la mac y la llave de 22 bytes.

Sin embargo existe el código fuente en C para el acceso directo a la partición mtd y modificar tanto la configuración, como el firm almacenado en la flash.

En el archivo de licencia identifique tres bloques, que en el caso del APRouter 6.1 son HS02, DS03 y CS03. Cada uno de estos bloques tienen la siguiente estructura:

ID: 4 bytes

Size: 2 bytes (big endian integer)

Data: Size byte

El último byte del Data es el checksum.

Ahora bien, el Data no esta en “texto claro” sino “cifrado”. Para tenerlo en texto claro hay que realizar la siguiente operación binaria: data[i]=~data[i]+0xc8, sobre cada byte en Data. Si quieren hacerlo rápido pueden utilizar cualquier editor hexdecimal.

Una vez que tengan el “texto claro” aparecerá a su vista la MAC y la llave de 22 bytes en los bloques HS y DS. EL bloque CS es el archivo que se almacena en /webs/config.dat dela que ya muchos se dieron cuenta y es la configuración por defecto.

Veamos que datos se deben cambiar para tener una licencia con nuestra MAC:

Bloque HS:

offset dato

7-12 MAC (que en la MTD será WLAN)

13-18 MAC (que en la MTD será WAN)

19-24 MAC( que en la MTD será LAN)

Bloque DS

ofsset data

446-451 MAC

5325-5346 key (que se explica más abajo)

Eso es todo lo que se requiere modificar. Ahora bien, luego de modificados los datos debes corregir el checksum y volver a cifrar.

El key como te imaginarás se obtiene con la función crypt de glib.c y esta basado en MD5 y los caracteres estan en el conjunto: [a–zA–Z0–9./].

Para obtener la key en base a la MAC, ejecuta el siguiente comando, en linux claro (hay tambien versiones para windows):

openssl passwd -1 -salt <SALT> 000e2e8522eb<POSMAC>

En el caso de la versión 6.1, SALT es jfm3kaZ2 y POSMAC es lfR3c67H0aq , además la MAC debe estar con los caracteres hexadecimales en minúsculas.

De dónde saque esos valores?, busquen un poco en /bin/flash y /bin/webs ya saben como obtener esos archivos para revisarlos.

Por ejemplo, si la MAC es 000E2E8522EB deberan ejecutar:

openssl passwd -1 -salt jfm3kaZ2 000e2e8522eblfR3c67H0aq

que devuelve: $1$jfm3kaZ2$AuY6O0yxHd8J7VZw3t5gi.

La key es: uY6O0yxHd8J7VZw3t5gi.

Ahora ya saben cómo se hace, ya no es necesaria las fuentes, ya pueden hacerlo ustedes mismos. Pero les pongo las fuentes libres para quien quiera hacer mejoras, personalmente prefiero el modo comando para asi generas las licencias sin ventanitas que hacen perder el tiempo.

Si quieren saber el SALT y el POSMAC para las otras versiones, es cuestión de ver los archivos flash y webs.

Código fuente en C, compilar con: gcc -o licencia licencia.c -lcrypt

Generación de licencias APRouter 6.1

Amigos, antes que nada gracias por sus comentarios. Estuve ausente por mucho tiempo debido a las ocupaciones del trabajo. De hecho la generación de licencias para el APRouter no es complicada, pero inicialmente me dio algo de flojera realizar un programa para generar el “file” de licencia, pues el secreto ya estaba develado y afinarlo siempre lleva tiempo.

Por unos dias generaba las licencias prácticamente “a mano”, con la ayuda del winhex, unas operaciones binarias y el crypt() disponible en ssl en Linux. Esta forma es simple, pero morosa… al final me cansé y opte por un programa “mínimo” en C.

El programa en C lo corría en una máquina windows, pero seguía dependiendo del “ssl” para obtener los 22 bytes de la firma en la licencia (ya explicaré esto en otro momento). Finalmente decidí darle el golpe de gracia y compilar todo en Linux incorporando todo en un solo paso: “licencia <mac>” y listo. Con un archivo bach se pueden generar licencias al por mayor.

Pero no me detuve ahí y les preparé un aditamento más: un script en PHP para que puedan tener licencias una a una… por el momento no tiene límites; pero estoy abierto a las sugerencias.

Disculpen la poca respuesta, pero creo que con esto respondo a sus inquietudes.

Generador de Licencias APRouter 6.1

Crack de la licencia APRouter (segunda parte parte)

Ya tengo completo el generador de licencias de APRouter para las versiones 5.x y 6.x. Ha sido un trabajo interesante que lo ire publicando poco a poco, en la medida de mi tiempo. Muchos dicen que es mejor enseñar a pescar que dar el pescado, así que iré explicando el proceso de como realicé el generador de licencias.

En primer lugar indague por los archivos del firm, para eso me baje una imagen completa del SO linux instalado en el AP tras la actualización al APRouter. Les explico este procedimiento para las versiones 5.x y 6.x:

APRouter v 6.1 (procedimiento para obtener una imagen del SO)

1. Download ital8186v6_1-en-edimax.bin

2. Identificar offset de BZh91: 38932 (utilicé el WinHex)

dd if=ital8186v6_1-en-edimax.bin of=image.bz2 bs=38932 skip=1

3. Descomprimir la imagen lograda

bzip2 -d image.bz2

4. Identificar nuevo desplazamiento en la imagen lograda: buscar en winhex la cadena: “AAAAAA”, examine los valores hexadecimales hacia adelante (firma): 0×58, 0×05, 0×00, 0×00, 0×54, 0×15, 0×00, 0×00 (5805000054150000),
(1795072=0×1B6400) entonces retrocede unos 0×400 bytes (0×1B6000=1794048). Luego nuevamente con dd eliminamos el primer bloque:

dd if=image of=image.ext2 skip=1 bs=1794048

5. Finalmente montar la imagen lograda: image.ext2 en linux claro:

mount -t ext2 -o loop image.ext2 /mnt/ext2 -o ro,nodev,nosuid,noexec

6. Examinar la imagen o sacar un comprmido para examinación más detallada con el mc o cualquier explorador (en Windows me gusta más el WinCommander):

tar -czf aprouter61.tar.gz ext2/

APRouter v 5.3b (procedimiento para obtener una imagen del SO)

1. Download ital8186v5_3b-en-realsat.bin
2. Identificar offset de BZh91: 38932
dd if=ital8186v5_3b-en-realsat.bin of=image.bz2 bs=38932 skip=1
3. Descomprimir la imagen lograda
bzip2 -d image.bz2
4. Identificar nuevo desplazamiento en la imagen lograda: buscar en winhex la cadena: “AAAAAA”,
examine los valores hexadecimales hacia adelante (firma): 0xE0, 0×04, 0×00, 0×00, 0×74, 0×13, 0×00, 0×00 (E004000074130000),
(1766400=0×1AF400) entonces retroceda unos 0×400 bytes (0×1AF000=1765376). (Método proporcionado por EDMIAN).
En nuestro caso:
dd if=image of=image.ext2 skip=1 bs=1765376
5. Finalmente monte la imagen lograda: image.ext2
mount -t ext2 -o loop image.ext2 /mnt/ext2 -o ro,nodev,nosuid,noexec

6. Examine la imagen o saque un comprmido para examinación más detallada:
tar -czf aprouter53.tar.gz ext2/

BUG APRoute para RTL8186

El APRouter tiene varios bugs que pueden aprovecharse para utilizar una misma licencia en varios equipos. Iré publicando varios de estos bugs en mi blog personal.

Acceso SSH en firm APRouter no licenciado

Uno de los bugs más interesantes es la ejecución de comandos con privilegios de administrador. Puedes ejecutar los comandos “que quieras” tanto en el firm licenciado, como en el no licenciado.

Para eso simplemente accede a tu APRouter mediante la interface web. En el menu seleccionas Management->System Command y luego en el cuadro de edición pones el comando que quieras ejecutar y presionas el boton “Send Command” y listo.

Por ejemplo ejecuta los siguientes comandos:

ls -la /etc
cat /etc/init.d/S20sshd

Este último es interesante pues veras como se habilita el demonio sshd, si tu APRouter no esta licenciado puedes habilitar el sshd ejecutando simplemente:

/bin/dropbear -r /etc/dropbear_rsa_host_key

Y ahora prueba, deberias poder acceder via ssh a tu APRouter. Desde Linux puedes hacerlo asi:

ssh root@192.168.2.1

y el password es “root”.

Crack de la licencia APRouter (primera parte)

La licencia del APRouter esta basada en un control de la MAC de la interface “0″ y una llave check sum MD5 de 22 bytes (hablaremos de ello en otra oportunidad). O sea mientra mantengas estos dos valores intactos podras “hacer lo que quieras”.

Para poder crackear la licencia con el metodo que te planteo, necesitarás una licencia cualquiera (en este caso de la versión 6.1).

1. Anota bien la MAC original de tu AP, la denominaremos MAC_ORIGINAL
2. Carga la licencia: Update License.
3. Ejecuta los siguientes comandos desde Management->System Command (ver artículo anterior):

flash set ELAN_MAC_ADDR
flash set HW_NIC1_ADDR
flash set HW_WLAN_ADDR

Por ejemplo si la MAC original era: 001122334454, deberás ejecutar:

flash set ELAN_MAC_ADDR 001122334454
flash set HW_NIC1_ADDR 001122334455
flash set HW_WLAN_ADDR 001122334456

4. Ahora reinicia el equipo y listo.

Si quieres una justificación de este procedimiento simplemente fíjate los script: S04check, licence.sh e init.sh. Para verlos puedes hacer un cat de sos archivos y listo:

cat /etc/init.d/S04check
cat /bin/licence.sh
cat /etc/init.sh

Espero tus comentarios.