Local Storage에 저장 및 불러오기

 

'프로그래밍 > JAVASCRIPT' 카테고리의 다른 글

[Javascript] readonly와 disabled 차이  (0) 2019.07.10
[Javascript] 날짜, 시간 유효성 검사  (0) 2019.07.10
[Javascript] 시간 표시  (0) 2019.05.30

1. selenium 설치 및 Chrome Driver 다운로드

pip install selenium


2. import

from selenium import webdriver

3. 크롬 드라이버 추가

driver = webdriver.Chrome("Chrome Driver의 경로")
driver. implicitly_wait(브라우저 로딩 시간)

4. Method

driver.get("URL 경로")
driver.find_element_by_id("HTML의 ID값").send_keys("입력할 값")
driver.find_element_by_xpath('XPATH경로').click()                   # xpath경로 클릭
driver.find_element_by_css_selector("SELECTOR 경로").click()     # selector 클릭

5. 네이버로그인 예제

'네트워크 > 패킷트레이서' 카테고리의 다른 글

1105  (0) 2018.11.05
정적 라우팅  (0) 2018.10.29
20181022  (0) 2018.10.22
네트워크 구축 실습 시험문제  (0) 2018.10.08
라우터 설정  (0) 2018.10.08

1. pyinstaller 설치

pip install pyinstaller

2. exe 파일로 배포

pyinstaller [프로젝트명].py


1. node js 설치


2. vue cli 설치

# npm install -g @vue/cli

3. vue create

# vue create [PROJECT NAME]

4. vuetify 추가

# vue add vuetify

5. router 추가

# vue add router


6. 서버 실행

# npm run serve
http://localhost:8080


'프로그래밍 > Vue.js' 카테고리의 다른 글

Atom Vue.JS 개발환경 세팅  (0) 2019.05.16

[원문 : https://tools.kali.org/information-gathering/acccheck]

패키지 설명

이 도구는 SMB 프로토콜을 통해 Windows 인증을 대상으로하는 암호 사전 공격 도구로 설계되었습니다. 

그것은 정말로 'smbclient'바이너리를 감싸는 래퍼 스크립트이며 결과적으로 실행에 의존합니다.

Source: https://labs.portcullis.co.uk/tools/acccheck/
acccheck Homepage | Kali acccheck Repo

  • 저자 : Faisal Dean
  • 라이센스 : GPLv2

acccheck 패키지에 포함 된 도구

acccheck - SMB 용 비밀번호 사전 공격 도구
root @ kali : ~ acccheck 

acccheck v0.2.1 - Faiz 

설명 : 
어떤 플래그가 
선택 되었는지에 따라 IPC $ 및 ADMIN $ 공유에 연결을 시도하고 암호를 식별하기 위해 사용자 이름과 암호 조합을 시도 
합니다 사전 암호 추측 공격을 통해 주어진 계정으로 

사용법 = ./acccheck [선택 사항] 

-t [단일 호스트 IP 주소] 
OR 
-T [대상 IP 주소가 포함 된 파일] 

선택적 : 
-p [단일 암호] 
-P [암호가있는 파일] 
-u [단일 사용자] 
-U [사용자 이름이있는 파일] 
-v [상세 모드] 

예제 
[BLANK] 암호로 'Administrator'계정을 시도하십시오.
acccheck -t 10.10.10.1 
'password.txt'에있는 모든 암호를 'Administrator'계정에 대해 시도하십시오. 
acccheck -t 10.10.10.1 -P password.txt 
'passwords.txt'에있는 모든 암호를 'users.txt'에있는 모든 사용자에 대해 시도하십시오. 
acccehck -t 10.10.10.1 -U users.txt -P password.txt 
단일 사용자에 대해 단일 암호를 시도하십시오. 
acccheck -t 10.10.10.1 -u 관리자 -p password

acccheck 사용 예제

smb-ips.txt (-T)에 포함 된 IP 주소를 검사하고 자세한 출력 (-v)을 사용합니다 .

root @ kali : ~ # acccheck.pl -T smb-ips.txt -v 
Host : 192.168.1.201, 사용자 이름 : Administrator, Password : 빈칸



var a = 5

val b = 10


// 변수명: 자료형 = 값

var a: Int 10

val b: int = 20


기본 자료형

Double : 64비트 부동소수점

Float  : 32비트 부동소수점

Long   : 64비트 정수

Int    : 32비트 정수

Short  : 16비트 정수

Byte   : 8비트 정수


리터럴

val a = 10    // val a: Int

val b = 10L   // val b: Long

val c = 10.0  // val c: Double

val d = 10.0f // val d: Float


문자형

String : 문자열

Char   : 하나의 문자

val str = "안녕하세요" // val str: String

val char = "안"       // val char: char


// 함수

fun greet(str: String): Unit {

  println(str)

}


greet( str:"안녕")


// 문자열 템플릿

val str = "안녕"

println(str + "하세요") // 자바 안녕하세요


--코틀린

println("$str 하세요") // 안녕 하세요

println("${str}하세요") //안녕하세요


// 배열

val numbers: Array<Int> arrayOf(1, 2, 3, 4, 5)

val number2 = arrayOf(1, 2, 3, 4, 5) // 자료형 생략

numbers[0] = 5 // [5, 2, 3, 4, 5]


//제어문

# if

if( a < b ) max = b // 일반적인 방법


if( a < b) {

  max = a

} else {

  max = b

}


val max = if(a > b) a else b // 식처럼 사용 가능


// when 문은 자바의 switch문에 대응

#1

val x = 1

when (x) {

  1 -> println("x == 1")                // 값 하나

  2, 3 -> println("x == 2 or x == 3")   // 여러 값은 콤마로

  in 4..7 -> println("4 부터 7 사이")    // in 연산자로 범위지정

  !in 8..10 -> println("8부터 10 사이가 아님")

} else -> {                             // 나머지

  print("x는 1이나 2가 아님")

}


#2

val numberStr = 1


val numberStr = when(number % 2) {

  0-> "짝"

  else -> "홀"

}


#3

val number = 1

fun isEven (num: Int) = when (num %2) { // 결과가 String으로 추론되어 반환형 선언 생략 가능

  0 -> "짝"

  else -> "홀"

}

println(isEven(number))


// for문

#1

val numbers = arrayOf(1, 2, 3, 4, 5)


for (num in numbers) {

  println(num)  //1; 2; 3; 4; 5;

}


#2

// 1~3 까지 출력

for (i in 1..3) {

  println(i) // 1; 2; 3;

}

// 0~10까지 2씩 증가하며 출력

for (i in 0..10 step 2) {

  println(i)    // 0; 2; 4; 6; 8; 10;

}

// 10부터 0 까지 2씩 감소하며 출력

for (i in 10 downTo 0 step 2) {

  println(i)    // 10; 8; 6; 4; 2; 0;

}


// while

var x = 10

println(x)

while ( x > 0 ) {

  x--

  println(x)    //9; 8; 7; 6; 5; 4; 3; 2; 1; 0;

}

// do while

var x = 10

do {

  x--

  println(x)    // 9; 8; 7; 6; 5; 4; 3; 2; 1; 0;

} while (x > 0)


// 클래스

# 클래스 선언

class Person {


}


#인스턴스 생성

val person = Person()


// 생성자

# 코틀린에서의 클래스

calss Person(var name: String) {


}


class Person {

  constructor(name: String) {

    println(name)

  }

}


class Person(name: String) {

  init {

    println(name)

  }

}


// 프로퍼티 : 클래스의 속성을 사용할 때는 멤버에 직접 접근하며 이를 프로퍼티라고 합니다.

# 클래스 선언

class Person(var name: String) {


}

// 인스턴스 생성

val person = Person("멋쟁이")

person.name = "키다리"   // 쓰기

println(person.name)    // 읽기


// 접근제한자 : 접근제한자란 변수나 함수를 공개하는 데 사용하는 키워드이다.

Class A {

  val a = 1             // public(생략가능) : 전체 공개

  private val b = 2     // private : 현재 파일 내부에서만 사용 가능

  protected val c = 3   // protected : 같은 모듈 내에서만 사용가능

  internal val d = 4    // internal : 상속받은 클래스에서 사용가능

}


// 클래스 상속

// 코틀린에서의 클래스는 기본적으로 상속이 금지된다.

// 상속이 가능하게 하려면 open키워드를 클래스 선언 앞에 추가한다.

// 다음은 Animal클래스를 상속받는 Dog 클래스를 나탄내다.

open class Animal {


}

class Dog : Animal() {


}

open class Animal(val name: String) {


}

class Dog(name: String) : Animal(name) {


}


// 내부 클래스

// 내부 클래스 선언에는 inner를 사용

// 내부 클래스는 외부 클래스에 대한 참조를 가지고 있다.

// 아래 코드에서 inner 키워드가 없다면 a를 20으로 변경할 수 없다.

class OuterClass {

  val a = 10


  // 내부클래스

  inner class OuterClass2 {

    fun something() {

      a = 20 // 접근 가능

    }

  }

}


// 추상 클래스

// 추상클래스는 미구현 메서드가 포함된 클래스.

// 클래스와 미구현 메서드 앞에 abstract키워드를 붙인다.

// 추상클래스는 직접 인스턴스화 할 수 없고 다른 클래스가 상속하여 미구현 메서드를 구현해야 한다.

// 기본적으로 자바와 동일한 특성을 가진다.

abstract class A {

  abstract fun func()


  fun func2() {


  }

}

class B: A() {

  override fun func() {

    println("Hello")

  }

}

val a = A() // 에러

val a = B() // ok


// 인터페이스

// 인터페이스는 미구현 메서드를 포함하여 클래스에서 이를 구현한다.

// 추상클래스와 비슷하지만 클래스가 단일 상속만 되는 반면 인터페이스는 다중 구현이 가능하다.

// 주로 클래스에 동일한 속성을 부여해 같은 메서드라도 다른 행동을 할 수 있게 하는데 사용한다.

// 코틀린의 인터페이스는 자바와 거의 사용법이 같다.

//# 인터페이스 선언

//  다음과 같이 인터페이스에 추상 메서드를 포함할 수 있다.

//  원래 추상 클래스에서 추상 메서드는 abstract키워드가 필요한데 인터페이스에서는 생략할 수 있다.

interface Runnable {

  fun run()

}


// 인터페이스는 구현이 없는 메서드뿐만 아니라 구현된 메서드를 포함할 수 있다. 이는 자바의 default 메서드에 대응한다.

interface Runnable {

  fun run()


  fun fastRun() = println("빨리 달린다")

}

// 인터페이스의 구현

// 인터페이스를 구현할 때는 인터페이스 이름을 콜론 뒤에 나열한다.

// 그리고 미구현 메서드를 작성하는데 이때 override 키워드를 메서드 앞에 추가한다.

// run 함수를 오버라이드한다고 말한다.

class Human : Runnable {

  override fun run() {

    println("달린다")

  }

}


// 상속과 인터페이스를 함께 구현

// 다음과 같이 상속과 인터페이스를 함께 구현할 수 있다.

// 상속은 하나의 클래스만 상속하는 반면 인터페이스는 콤마로 구분하여 여러 인터페이스를 동시에 구현할 수 있다.


open class Animal {


}

interface Runnable {

  fun run()

  fun fastRun() = println("빨리 달린다")

}

interface Eatable {

  fun eat()

}

class Dog: Animal(), Runnable, Eatable {

  override fun eat() {

    println("먹는다")

  }


  override fun run() {

    println("달린다")

  }

}

val dog = Dog()

dog.run()

dog.eat()



ip route [목적지네트워크주소] [SM] [인접한라우터 IP주소]

   [자신의 인터페이스명]


기본 경로 설정

ip route 0.0.0.0   0.0.0.0  [인접한라우터 IP주소]

    [자신의 인터페이스명]




hostname SW1

enable secret tcp

line con 0

password ip

login

line vty 0 15

password ip

login

no ip domain-lookup

service password-encryption

int vlan1

ip add 192.168.1.2 255.255.255.0

no shut

ip default-gateway 192.168.1.1



'네트워크 > 패킷트레이서' 카테고리의 다른 글

RIP OSPF  (0) 2019.03.15
정적 라우팅  (0) 2018.10.29
20181022  (0) 2018.10.22
네트워크 구축 실습 시험문제  (0) 2018.10.08
라우터 설정  (0) 2018.10.08

스위치에는 관리목적상 ip를 배정한다.

다른네트워크에서 접속할 경우 게이트웨이주소를 설정

정적 라우팅

다음-홉 라우터 ip를 사용

기본 거리값을 이용하여 우선순위에 의해 처리를 한다.

정적라우팅 상태 확인

show ip route

S = static(정적라우팅 상태)
C = connected (연결됨)

(config)# ip route [목적지네트워크주소] [서브넷마스크] [인접한라우터주소]

'네트워크 > 패킷트레이서' 카테고리의 다른 글

RIP OSPF  (0) 2019.03.15
1105  (0) 2018.11.05
20181022  (0) 2018.10.22
네트워크 구축 실습 시험문제  (0) 2018.10.08
라우터 설정  (0) 2018.10.08

+ Recent posts