Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eleкtro

#4501
Cita de: El_Andaluz en 14 Septiembre 2015, 23:46 PMPetición de randominze :xD

Cita de: Randomize en 16 Septiembre 2015, 18:48 PMCaya, caya, está la mar de interesante...

Allá cada uno con sus rarezas :xD
#4502
Cita de: arkangelX en 16 Septiembre 2015, 19:04 PM
Gracias Eleкtro por responder, pido las disculpas por no expresarme bien.

El tema es que no me copia los archivos por fecha, en este caso quiero los de 2015 y me copia los con fecha 2013, 2014 y 2015. Con respecto a excluir -1229 -1230 -1231 esto lo hace bien.

Saludos y gracias.

Con fecha de que?, ¿de creación, modificación, o último acceso?.

Míra el parámetro /MAXLAD también.

Saludos
#4503
Cita de: arkangelX en 16 Septiembre 2015, 18:11 PM¿Qué estoy haciendo mal?.

Pues ...no lo se, a simple vista todo me parece correcto, la ayuda de los parámetros dicen que deberían hacer lo que tú has mencionado.

¿Por "me copia todo" te refieres a toda la estructura completa de archivos y carpetas, o solamente a las carpetas que intentas excluir?.

No creo que esto solucione el problema, pero prueba a encerrar los argumentos cómo es debido:
/XD "*-1229*" "*-1230*" "*-1231*"

Siempre puedes probar la aplicación EazyCopy para ayudarte a construir el comando de RoboCopy:
http://choeazycopy.codeplex.com/

...O alternativas a RoboCopy más sofisticadas, cómo por ejemplo XXCopy:
http://www.xxcopy.com/

EDITO: Ups, veo que he repetido la mención al programa XXCopy, lo siento xD, pero de todas formas es una muy buena herramienta a tener en cuenta ...mucho más elaborada que el RoboCopy.

Saludos
#4504
Una alternativa que puedes utilizar serían los contadores de rendimiento.

He desarrollado la siguiente Class que permite monitorizar el tráfico de una interfáz de red, o incluso el tráfico de un proceso, quiero decir del proceso actual o de un ensamblado .Net externo (en ambos casos para monitorizar el tráfico de un proceso primero es necesario habilitar los contadores de rendimiento en el archivo de configuración de la aplicación, "app.config"), con características básicas para controlar el intervalo de actualización y demás, y con algoritmos simples para medir la velocidad de descarga y subida (los he escrito en un par de horas, dan buenos resultados si se asigna un intervalo de actualización de 1 segundo, son muy mejorables pero por el momento lo he dejado así).




Son dos classes distintas, NetworkTrafficMonitor y ProcessTrafficMonitor, en esta demostración hago uso del monitor del tráfico del proceso actual:






Un ejemplo del modo de empleo, el mismo que he utilizado para la app de la imagen GIF:
Código (vbnet) [Seleccionar]
Imports NetworkUtil
Imports NetworkUtil.NetworkTrafficMonitor

Public NotInheritable Class Form1 : Inherits Form

   Dim WithEvents procNetMon As NetworkUtil.ProcessTrafficMonitor

   Private Sub Form1_Load() Handles MyBase.Load

       Me.procNetMon = New ProcessTrafficMonitor(Process.GetCurrentProcess.Id)
       Me.procNetMon.UpdateBehavior = UpdateBehaviorEnum.FireAlwaysAfterTick
       Me.procNetMon.UpdateInterval = 1000 ' 1 sec.
       Me.procNetMon.Start()

   End Sub

   Private Sub ProcNetMon_TrafficChanged(ByVal sender As Object, ByVal e As ProcessTrafficMonitor.TrafficChangedEventArgs) _
   Handles procNetMon.TrafficChanged

       Me.LabelBytesReceived.Text = String.Format("Bytes received: {0} kb", (e.BytesReceived / 1024).ToString("n2"))
       Me.LabelDlSpeed.Text = String.Format("DL Speed: {0} kb/sec", (e.DiffBytesReceived / 1024).ToString("n2"))

       Me.LabelBytesSent.Text = String.Format("Bytes sent: {0} kb", (e.BytesSent / 1024).ToString("n2"))
       Me.LabelUlSpeed.Text = String.Format("UL Speed: {0} kb/sec", (e.DiffBytesSent / 1024).ToString("n2"))

   End Sub

   Private Sub BtDownloadUrl_Click() Handles BtDownloadUrl.Click

       Dim url As String = "http://download.thinkbroadband.com/10MB.zip"
       Dim client As New WebClient()
       client.DownloadFileAsync(New Uri(url), Path.GetTempFileName())

   End Sub

   Private Sub BtPauseMon_Click() Handles BtPauseMon.Click

       If Me.procNetMon.IsActive Then
           Me.procNetMon.Stop()
       Else
           Me.procNetMon.Start()
       End If

   End Sub

End Class


La Class NetworkTrafficMonitor, que es en lo que podrías estar interesado, se maneja exactamente de la misma manera, ya que ProcessTrafficMonitor la heredo de esta;
La única diferencia es el constructor, que toma cómo argumento el nombre de una interfáz de red activa.

Ejemplo:
Código (vbnet) [Seleccionar]
Dim WithEvents netMon As New NetworkTrafficMonitor(NetworkTrafficMonitor.GetAvaliableInterfaceNames.First)




El código fuente lo puedes descargar aquí, simplemente copiar pegar y utilizar:

Network/Process Traffic Monitor in VBNet, By Elektro - PasteBin

PD: Si usas la class, te sugiero separar las subclasses que hay definidas en varios archivos.




Diagrama de classes:



   

 






Espero que les sirva de algo a ti y a los que estén interesados :)

Saludos
#4505
Scripting / Re: Pregunta sencilla , soy un amateur
16 Septiembre 2015, 08:36 AM
Cita de: engel lex en 16 Septiembre 2015, 07:11 AM
un codigo de ejemplo en batch (convertir un numero de decimal a binario)

Código (dos) [Seleccionar]
@ECHO OFF
:: Check Windows version: NT 4 or later required
IF NOT "%OS%"=="Windows_NT" GOTO Syntax
:: Check number of command line arguments: 1 and only 1 required
IF     "%~1"=="" GOTO Syntax
IF NOT "%~2"=="" GOTO Syntax
:: Check if the command line argument consists of zeroes and ones only
ECHO "%~1"| FINDSTR /R /B /C:"\"[01][01]*\"$" >NUL || GOTO Syntax

:: Initialize the variables
SET Binary=%~1
SET Decimal=0
SET DigVal=1

:: Display the initial binary value
SET Binary

:Loop
:: Extract the last digit from the binary number
IF %Binary% GTR 1 (
SET Digit=%Binary:~-1%
SET Binary=%Binary:~0,-1%
) ELSE (
SET /A Digit = %Binary%
SET Binary=0
)
:: Add the digit's value to the decimal result
IF %Digit% EQU 1 SET /A Decimal = %Decimal% + %DigVal%
:: Increment the digit's value (multiply by 2)
SET /A DigVal *= 2
:: If the value of the remaining digits is
:: greater than 0, loop to the next iteration
IF %Binary% GTR 0 GOTO Loop

:: Clean up aal variables but one
SET Binary=
SET Digit=
SET DigVal=

:: Display the decimal result
SET Decimal

:: Exit with the decimal result as return code
EXIT /B %Decimal%


:Syntax
ECHO Bin2Dec.bat,  Version 1.00 for Windows NT 4 and later
ECHO Convert binary numbers to decimal
ECHO.
ECHO Usage:  BIN2DEC  binary_number
ECHO.
ECHO Written by Rob van der Woude
ECHO http://www.robvanderwoude.com

Engel, en realidad es para convertir de binario a decimal :P solo aclaro el dato pero no tiene importancia.

La misma tarea pero en .Net (VB.Net):
Código (vbnet) [Seleccionar]
Dim bin As String = "101001001" ' 329
Dim dec As Integer = Convert.ToInt32(bin, fromBase:=2)
Console.WriteLine(dec)

En C# sería lo mismo, y en Ruby, Python, Java y etc también solamente que utilizando sus miembros built-in.

PD: Te muestro el ejemplo equivalente pa que veas la diferencia de simplificación de código, aunque las diferencias son muchas más que esa, Batchero advertido :P.
#4506
Scripting / Re: Pregunta sencilla , soy un amateur
16 Septiembre 2015, 05:41 AM
Cita de: Beito en 16 Septiembre 2015, 04:01 AMpara encontrarle un sentido al juego de los hacker

Entonces el peor lenguaje que puedes escojer es Batch. Batch fue ideado para automatizar tareas del sistema, con él no podrás aprender nada útil al respecto del hacking, cómo mucho podrás hacer una bomba lógica y ya (en lo referente al Malware), olvídate de cualquier tipo de interacción/comunicación con la red (Sockets y demás).




Cita de: Beito en 16 Septiembre 2015, 05:12 AMLo complicado no es un problema para mí

Batch no es complejo, Batch es el lenguaje más sencillo de aprender ya que carece de cualquier componente de un lenguaje real, lo que el compañero @Engel Lex seguramente intentó decirte es que precisamente por ese motivo que acabo de explicar (o similares), cualquier código en Batch requiere más lineas de escritura y por ende más tiempo de desarrollo en comparación con cualquier otro lenguaje, Batch se vuelve tedioso y complejo en el sentido de que para cualquier código hay que buscarle 5 patas al gato, por que es un lenguaje limitado, muy, muy limitado.




Cita de: Beito en 16 Septiembre 2015, 05:12 AMelijo Batch por que no hay S.O de habitual uso , que no la comprenda , donde quiera que esté puedo divertirme usándolo , encontrándolo la lógica de un programa y eso

Windows soporta nativamente varios lenguajes más, los cuales le dan mil patadas a Batch, estos son:


  • Visual Basic Script (VBS)
  • Visual Basic for Applications (VBA)
  • PowerShell
  • javascript (mejor no lo tomes cómo una opción por el momento en lo relacionado con apps/tareas de escritorio)

Sin embargo, para alguien que quiere introducirse en la programación, sea por el motivo que sea, yo recomendaría Ruby o Python (si hablamos de Scrpting) o C#/VB.Net (si hablamos de lenguajes compilados).




Cita de: Beito en 16 Septiembre 2015, 05:12 AMsabes de algún Manual realmente bien redactado por allí?

Vuelvo a repetirte mi consejo. Si tu interés es el hacking ...evita Batch.

De todas formas...
Tutorial extendido de aprendizaje Batch - By Elektro
[BATCH] Manual PDF de Batch (INGLÉS) - By Elektro (SS64)
An A-Z Index of the Windows CMD command line - SS64
+
CMD.exe /C Help

Saludos
#4507
1.
El motivo de que en un equipo te funcione y en otro no, probablemente se deba a que en esta orden asumes que la primera interfáz de todas que se encuentre (0) es la que se debe monitorizar, y eso no siempre tiene por que ser así, ya que otros equipos tendrán varias interfaces o simplemente la primera interfáz encontrada no será la que realmente quieras monitorizar.

Código (vbnet,3) [Seleccionar]
'//Estado de red
Dim ipv4Stats As IPv4InterfaceStatistics
ipv4Stats = NetworkInterface.GetAllNetworkInterfaces(0).GetIPv4Statistics


Debes comprobar con evaluaciones qué interfáz es la que realmente quieres monitorizar, empezando por filtrar los adaptadores de Internet y verificar cuales de ellos están activos:
Código (vbnet) [Seleccionar]
If NetworkInterface.GetIsNetworkAvailable() Then

   Dim interfaces As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()

   For Each ni As NetworkInterface In interfaces

       If ni.OperationalStatus = OperationalStatus.Up Then

           If (ni.NetworkInterfaceType <> NetworkInterfaceType.Tunnel) AndAlso
              (ni.NetworkInterfaceType <> NetworkInterfaceType.Loopback) Then

               Dim statistics As IPv4InterfaceStatistics = ni.GetIPv4Statistics()

               If (statistics.BytesReceived > 0) AndAlso (statistics.BytesSent > 0) Then
                   ' En ste punto tenemos una interfáz de red (Internet) activa...
                   ' ...una de varias que pueden haber conectadas y activas al PC.
               End If

           End If

       End If

   Next ni

End If

(Si tienes adaptadores "virtuales" de Ethernet cómo por ejemplo TAP-Win podría ser un problema con el código que he mostrado, debes omitir esas interfaces claro está)




2.
La estructuración en general de la Class InformationNetwork es incorrecta, el dato más importante a tener en cuenta es que defines una función EnumerateNetwok sin un valor de retorno asignado, por ende no es una función como tal, y, no se con que intención, devuelves un 0 que no utilizarás en ninguna evaluación posterior.

Por mencionar algo más, esta evaluación es inecesaria (¿con que intención checkeas una conexión TCP establecida?, de esa manera no se verifica si el adaptador está activo, solo si "X" conexión TCP lo está), el casteo es innecesario, el método lambda también, y no especificas el type de la variable declarada:
Citar
Código (vbnet) [Seleccionar]
Dim n = ipv4Time.GetActiveTcpConnections().Cast(Of System.Net.NetworkInformation.TcpConnectionInformation).First(Function(el) el.State)

Código (vbnet) [Seleccionar]
Dim state As TcpState = ipv4Time.GetActiveTcpConnections.First.State

En general debes limpiar todo el código de esa y la otra class, añade las declaraciones Option apropiadas y posteriormente corrige todos los errores de compilación que te vas a encontrar debido a los malos hábitos de programación que has aplicado en ambas classes.

Código (vbnet) [Seleccionar]
Option Explicit On
Option Strict On
Option Infer Off

Class
...
End Class





En resumen, simplemente debes asgurarte de que interfáz quieres monitorizar, y complementariamente sigue también las indicaciones del punto 2. para producir un código limpio y evitar malos hábitos que te causarán otros problemas.

Saludos
#4508
Cita de: El_Andaluz en 14 Septiembre 2015, 16:00 PMLas rupias no se lo que es, pero al caso como se explica este caso que un experto forense compare la escritura del cuadernos de notas de satnam con la de taranjit y de la casualidad que las encuentres semejantes ? Lo veo curioso.  :¬¬

Eso no significa nada ya que para empezar el supuesto testimonio del forense fue que los encuentra semajentes, que no iguales, y por supuesto no puede decir que sean iguales, por que no lo son y se sabría.

Los métodos de detección de la imitación de caligrafía han avanzado mucho y hoy por hoy es sencillamente imposible hacer una falsificacción perfecta de la escritura de otra persona (a menos que la fuente original sea un papel o superficie "inestable", algo que complique la comparación), ya que los peritos que viven de ello disponen de métodos efectivos y sofisticados para determinar la imitación en los movimientos subconscientes que hacemos al escribir, y que otra persona es incapaz de recrear por mucho que se esfuerze en intentarlo.

Eso por no mencionar que los diagnósticos de un forense se pueden comprar o mejor dicho sobornar, al igual que a la policia o cualquier personal médico que quieras, mientras haya la suficiente confianza o cara dura y por supuesto el suficiente $$$ por medio entonces se pueden inventar cualquier suceso para intentar sacar un beneficio económico mayor, es lo mismo que hacer una inversión, una inversión de testimonios en donde te apoyas en una persona y esa otra persona se apoya en ti para crear un engaño "sostenible" por la complicidad entre los testimonios de esas personas (y sino, no tienes más que mirar algún programa de esos de corazón rosa, cada día hacen este tipo de engaños y eventuálmente salen a la lúz profesionales de la medicina o demás "organismos" que engañan inventando una historia con la que llenarse los bolsillos, aunque en realidad podemos ver esto en cualquier tipo de caso, como en las reencarnaciones claro está).

Por suerte o por desgracia me gusta documentarme sobre casos "paranormales" de todo tipo que hayan ocurrido, he visto y también leido muchos casos de supuestas reencarnaciones, y debido a eso soy conocedor de casos más extraños y perturbadores que los que has mencionado, algunos casos hacen dudar, mucho, pero todos tienen algo en común: La ausencia de pruebas irrefutables, y por ese motivo es absurdo darle creedibilidad a alguna de ellas.

Esas historias solamente se basan en testimonios ya sea de los supuestos reencarnados o de "expertos" en medicina, son personas al fin y al cabo pero cómo en toda historia paranormal que no merece crédito alguno lo que hacen siempre para intentar sostener su creedibilidad es jugar subliminálmente con la psicología del ser humano, ya que tendemos a darle mayor importancia a cualquier opinión y mayor creedibilidad a cualquier afirmación que provenga de alguien con estatus de "autoridad", cómo por ejemplo alguien cualificado en la medicina forense, pues forma parte de nuestra inevitable sumisión a la Jerarquía, sin ello no seriamos nada ...no habríamos evolucionado hasta donde lo hemos hecho, y ellos, los que se inventan estas historias, lo saben, y por eso SIEMPRE utilizan esa técnica de manipulación con testimonios de médicos y demás personal semejante.

El que no lo vea, es ciego, e ignora la magnitud de la fuerza que mueve este mundo y los pilares que lo sostienen.

EDITO: Con esto tampoco intento decir que yo me cierre a que tal vez exista la posibilidad de que una de todas las supuestas reencarnaciones sea real (al igual que si estuviesemos hablando de cualquier otro fenómeno paranormal), pero en ese caso entonces probablemente no sería causa de una reencarnación tal y cómo creemeos que es y por que creemos que sucede; hay muchas cosas de las que desconocemos su significado real.

Saludos!
#4509
Si tengo que elegir, entonces le doy más creedibilidad a la teoría que sugiere que toda la especie humana vivimos en una especie de Matrix, literálmente, encapsulados e inconscientes a merced de una raza superior que se alimenta de nosotros (en cuerpo o "alma") y controla nuestras mentes, siendo estos seres los que nos crean el Universo como lo conocemos en donde el fenómeno de la reencarnación sería una especie de fallo en la programación, pues cuando mueres realmente no mueres, despiertas del sueño en tu cápsula, y eres insertado de nuevo en el programa para volver a encarnar.

...¿Ridículo, verdad?, pero es posible hasta que se demuestre lo contrario, sobre todo cuando la alternativa consiste en pensar en la reencarnación cómo un hecho que se intenta argumentar con motivos religiosos y que se manifiesta por los mismos motivos, eso es más ridículo que la Matrix si cabe.

No se yo que opinaría la Navaja de Ockham en esta ocasión, por que cualquier teoría al respecto de la reencarnación es compleja y poco creible, tal vez la solución más sencilla sea que el fenómeno se debe a fallos por parte del cerebro del sujeto que dice haber sido reencarnado, ya que cualquier persona puede imaginar que vivió una vida anterior y creerselo al sufrir demencia, o simplemente inventar una historia con la que poder engañar.

La realidad es que nunca se ha demostrado la reencarnación como tal, y eso ya lo dice todo por si solo. De hecho ahí es donde está el truco, vaya, que extraño que estos individuos dicen haber sido reencarnados pero NUNCA recuerdan datos esenciales de su supuesta vida pasada cómo el nombre completo, el número del DNI/ID, una dirección de domicilio, y cosas así, eso nunca lo recuerdan, vaya, QUÉ OPORTUNA es esa pérdida de memoria "parcial" que les hace olvidarse de todo lo que pueda identificarles cómo un ex-ciudadano real, o mejor dicho, lo que les pueda identificar cómo un mentiroso y desvelar su fraude.

Mi opinión.

Saludos
#4510
Java / Re: tengo un bucle infinito conmigo, HELP!
14 Septiembre 2015, 14:14 PM
Cita de: sowi12 en 14 Septiembre 2015, 12:44 PMSi tu ejemplo está muy bien, pero tal y como me han enseñado a mí (que o lo hago como piden los profesores que tengo o ni me lo miran), tu ejemplo no encajan "con sus enseñanzas" por lo que se ve.

¿En que difiere el ejemplo funcional que te he mostrado, a cómo quieren los profesores que lo resuelvas?, ¿te han mandado expresamente que utilices un do-while, o a que te refieres exactamente?, no somos adivinos.

¿Has probado a usar un do-while en vez de un while en el código que mostré?.

PD: Si, lo del formato de código fue un comentario que iba dirigido a ti, por que es una norma del subforo que se debe cumplir.

Saludos