Показват се публикациите с етикет cli. Показване на всички публикации
Показват се публикациите с етикет cli. Показване на всички публикации

петък, юли 15, 2022

Check remote computers for open TCP ports with PowerShell (ext. script) 1

Minimalistic-offensive-security-tools/port-scan-tcp.ps1 at master · InfosecMatter/Minimalistic-offensive-security-tools · GitHub 

Function port-scan-tcp {

  param($hosts,$ports)

  if (!$ports) {

    Write-Host "usage: port-scan-tcp <host|hosts> <port|ports>"

    Write-Host " e.g.: port-scan-tcp 192.168.1.2 445`n"

    return

  }

  $out = ".\scanresults.txt"

  foreach($p in [array]$ports) {

   foreach($h in [array]$hosts) {

    $x = (gc $out -EA SilentlyContinue | select-string "^$h,tcp,$p,")

    if ($x) {

      gc $out | select-string "^$h,tcp,$p,"

      continue

    }

    $msg = "$h,tcp,$p,"

    $t = new-Object system.Net.Sockets.TcpClient

    $c = $t.ConnectAsync($h,$p)

    for($i=0; $i -lt 10; $i++) {

      if ($c.isCompleted) { break; }

      sleep -milliseconds 100

    }

    $t.Close();

    $r = "Filtered"

    if ($c.isFaulted -and $c.Exception -match "actively refused") {

      $r = "Closed"

    } elseif ($c.Status -eq "RanToCompletion") {

      $r = "Open"

    }

    $msg += $r

    Write-Host "$msg"

    echo $msg >>$out

   }

  }

}


# Examples:

#

# port-scan-tcp 10.10.0.1 137

# port-scan-tcp 10.10.0.1 (135,137,445)

# port-scan-tcp (gc .\ips.txt) 137

# port-scan-tcp (gc .\ips.txt) (135,137,445)

# 0..255 | foreach { port-scan-tcp 10.10.0.$_ 137 }

# 0..255 | foreach { port-scan-tcp 10.10.0.$_ (135,137,445) }

вторник, май 24, 2011

Robocopy

Задача: да се мигрират redirected user folders(Desktop & My Documents) на друг сървър и storage.
Варианти: rsync for Windows, но това искаше иснталации и на двете машини (source & destination) и native за Windows - robocopy.
Сериозните опции са /mir и /copyall
Същественната разлика м/у /mir и /copyall, е че /mir изтрива съдръжанието на destination folder-a и го замества със съдържанието на source folder-a, докато при /copyall ако има промени в source folder-a при стартирането ще се отразят в destination folder-a без да се загубят промените които м/у временно са възникнали в destination folder-a
Примерно:
Robo_source : file1, dir1
Robo_dest: file2, dir2
след robocopy \\server1\Robo_source \\server2\Robo_dest /mir /e /tee съдържанието на Robo_dest == file1, dir1;
докато след robocopy \\server1\Robo_source \\server2\Robo_dest /copyall /e /tee съдържанието на Robo_dest == file2, dir2, file1, dir1;
Useful switches:
/z - restartable mode
/save:job.file - run and save command + swtiches in job.file.rcj (/save:job.file.rcj трабва да е най-накрая в списъка с допълнителните ключове - т.е. записва се всичко до /save:xxx, но не и след него). Създава се файл: job.file.RCJ
/save:job.file /quit - just save command + switches (do not run anything)
/job:job.file - read from job.file.rcj and run what you read
/mon:N - monitor for N changes in Source_dir
/mot:N - monitor in N min for changes in Source_dir
Examples:
1. full mirror
robocopy \\server1\Robo_source \\server2\Robo_dest /mir /e /tee
2. Update Robo_dest with changes in Robo_source (e.g. differential)
\\server1\Robo_source \\server2\Robo_dest /copyall /e /tee
3. Just monitor for 3 changes every 3 minutes
\\server1\Robo_source \\server2\Robo_dest /mon:3 /mot:3 (?!)- на теория трябва само да следи за промени ама май направо си ъпдейтва Robo_dest с промените в Robo_source

П.С. версиите до W2k8 не "реагират" при промяна на атрибутите за NTFS permissions, но във Vista и Windows 2008 (R2) вече има допълнителен ключ - /secfix
MS графичен фронт-енд
Robocopy записва в EventViewer-a какво се случва, но по-юзъбъл за мен е mail notification