π¦ SEED Ubuntu(μ°λΆν¬) 컀λμ μ¬μ©ν ν¨ν· μ μ‘ μ€μ΅
1. κ°μνκ²½ μ€ν ν Terminal λ‘ μ μ
2. Command Lineμ μλμ κ°μ΄ μ λ ₯νμ¬ μ€νν Python νμΌ μμ±
$ nano packetTest.py
++ nano λͺ λ Ήμ΄
$ nano [μμ±νκ±°λ νΈμ§ν νμΌλͺ
]
nanoλ ν°λ―Έλ λλ λͺ λ Ήμ€ μΈν°νμ΄μ€(CLI)μμ κ°λ¨ν ν μ€νΈ νμΌμ μμ±νκ±°λ νΈμ§νλ λ° μ¬μ©λλ λͺ λ Ήμ΄μ΄λ€.
nano λͺ λ Ήμ΄μ μ¬μ© νμμ μμ κ°μΌλ©°, νμΌμ΄ μ‘΄μ¬νμ§ μμ κ²½μ° ν΄λΉ νμΌμ μμ±νκ³ μ΄λ―Έ νμΌμ΄ μ‘΄μ¬νλ κ²½μ° νΈμ§ κ°λ₯ν μ°½μ λμ΄λ€.
3. μλμ κ°μ΄ μ½λ μμ± ν Ctrl + O μ Ctrl + X λ₯Ό μ°¨λ‘λ‘ λλ¬ νμΌ μ μ₯
!/bin/env python3
import socket
data = b"Hello, Server\n"
udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp.sendto(data, ("10.0.2.15", 9090))
++ μ½λ μμΈ μ€λͺ
Line | μ½λ | μ€λͺ |
3 | import socket | λ€νΈμν¬ ν΅μ μ μν μμΌ import |
5 | data = b"Hello, Server\n" | μ μ‘ν λ°μ΄ν°λ₯Ό data λ³μμ μ μ₯ |
5 | data = b"Hello, Server\n" | 'b' μ λμ¬λ byte λ¬Έμμ΄μ μλ―Έν¨ |
6 | udp = socket.socket (socket.AF_INET, socket.SOCK_DGRAM) |
UDP νλ‘ν μ½μ μ¬μ©νλ μμΌ μμ± |
6 | udp = socket.socket (socket.AF_INET, socket.SOCK_DGRAM) |
AF_INETμ IPv4 μ£Όμ ν¨λ°λ¦¬ μ¬μ© |
6 | udp = socket.socket (socket.AF_INET, socket.SOCK_DGRAM) |
SOCK_DGRAMμ λ°μ΄ν°κ·Έλ¨ νμμ μμΌ μμ± |
8 | udp.sendto (data, ("10.0.2.15", 9090)) |
udp μμΌμ μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό νΉμ μ£Όμ λ° ν¬νΈλ‘ μ μ‘ |
8 | udp.sendto (data, ("10.0.2.15", 9090)) |
λ°μ΄ν° μμ μλ²μ IP μ£Όμλ 10.0.2.15 |
8 | udp.sendto (data, ("10.0.2.15", 9090)) |
λ°μ΄ν° μμ μλ²μ ν¬νΈ λ²νΈλ 9090 |
4. Command Lineμ μλμ κ°μ΄ μ λ ₯νμ¬ Python νμΌ μ€ν
$ sudo python3 packetTest.py
++ sudo & νμΌ μ€ν λͺ λ Ήμ΄
$ sudo [μ¬μ©ν μΈν°ν리ν°] [μ€νν νμΌλͺ
].py
sudo λͺ λ Ήμ΄λ μνΌ μ μ (Super User) κΆνμΌλ‘ λͺ λ Ήμ μ€ννκΈ° μν΄ μ¬μ©λλ©°, μ¬μ©ν μΈν°ν리ν°μ μ’ λ₯μ μ€νν νμΌλͺ μ λ€μ΄μ΄ μ λ ₯νλ©΄ νμΌμ μ½λκ° μ€νλλ€.
5. νμΌμ μ€νμν¨ μνμμ μ°μΈ‘ μλ¨μ λ°λ₯Ό λλ¬ New Window ν΄λ¦
6. μλ‘μ΄ μ°½μμ nc(netcat) λͺ λ Ήμ΄λ₯Ό μλμ κ°μ΄ μ λ ₯ ν Enter ν΄λ¦
$ nc -lnuv 9090
++ netcat (nc) λͺ λ Ήμ΄
$ nc -[μ΅μ
] [λͺ
λ Ήμ΄ μμ ν Port Number]
netcat (nc) λͺ λ Ήμ΄λ λ€νΈμν¬ μ°κ²°μ μμ± λ° κ΄λ¦¬νλ μν μ μννλ μ νΈλ¦¬ν°λ‘, λ€μν μ΅μ λ€κ³Ό ν¨κ» μ¬μ©ν μ μλ€.
μμ κ°μ μ¬μ© νμμ κ°μ§λ©°, λͺ λ Ήμ΄ μ€ν μ μ§μ ν ν¬νΈμμ λ€μ΄μ€λ λ€νΈμν¬ μ°κ²°μ μμ νκ³ ν΄λΉ μ°κ²°μ λν λ°μ΄ν°λ₯Ό νμνλ€.
nc λͺ λ Ήμ΄ μ΅μ | μ€λͺ |
- l | ncλ₯Ό 리μ€λ λͺ¨λ, μ¦ μ°κ²° μμ²μ μμ νλ λͺ¨λλ‘ μ€μ |
- n | νΈμ€νΈ λ° ν¬νΈλ₯Ό μ«μλ‘ νμνκ³ DNS μ΄λ¦ ν΄μμ λΉνμ±ν |
- u | UDP νλ‘ν μ½μ μ¬μ©νμ¬ μ°κ²°μ μμ |
- v | μ°κ²° λ° λ°μ΄ν° μ μ‘κ³Ό κ΄λ ¨λ μ 보λ₯Ό μμΈνκ²(verbose) νμ |
7. λ€μ κΈ°μ‘΄ μ°½μΌλ‘ λμμ sudo λͺ λ Ήμ΄λ₯Ό νλ² λ μ λ ₯
$ sudo python3 packetTest.py
8. κΈ°μ‘΄ μ°½μμ λͺ λ Ήμ΄ μ λ ₯ ν, μλ‘ μΆκ°ν μ°½μΌλ‘ μ΄λ --> Data λ³μ μ λ°μ΄νΈ λ¬Έμμ΄μ΄ μ±κ³΅μ μΌλ‘ μ μ‘λμμμ νμΈ