1619, 1/81 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   ÇØÅ·ÀßÇϰí½Í´Ù
   http://¾øÀ½
   python.png (147.9 KB), Download : 4500     [¿À¸¥ÂÊ ¹öư ´­·¯ ´Ù¿î ¹Þ±â]
   image_(1).png (99.8 KB), Download : 6384     [¿À¸¥ÂÊ ¹öư ´­·¯ ´Ù¿î ¹Þ±â]
   ÆÄÀ̽ã äÆÃ ÇÁ·Î±×·¥ ±¸Çö

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=8579 [º¹»ç]




Ŭ¶óÀÌ¾ðÆ® ±¸Çö

¼­¹ö¿¡ µ¥ÀÌÅ͸¦ ÁÖ°í ¹Þ±â À§ÇØ ¼ÒÄÏ ¿¬°á ¿äûÀ» ÇÏ´Â ÃøÀ¸·Î
IP¿Í Æ÷Æ®¹øÈ£·Î ¼­¹ö¿¡ ¿¬°áÀ» ¿äûÇÑ´Ù.


ÄÚµå ¿¹Á¦¸¦ º¸±â ÀÌÀü¿¡ setsockopt ¸Þ¼Òµå¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú´Ù.



---------------------------------------------------------------
socket.setsockopt(level, optname, None, optlen: int)

Set the value of the given socket option (see the Unix manual page setsockopt(2)).
The needed symbolic constants are defined in this module
(SO_* etc. <socket-unix-constants>).
The value can be an integer,
None or a bytes-like object representing a buffer.
In the later case it is up to the caller to ensure
that the bytestring contains the proper bits
(see the optional built-in module struct for a way to encode C structures as bytestrings).
When value is set to None, optlen argument is required.
It¡¯s equivalent to call setsockopt() C function with optval=NULL and optlen=optlen.


ÇØ¼®

ÁÖ¾îÁø ¼ÒÄÏ ¿É¼ÇÀÇ °ªÀ» ¼³Á¤ÇÕ´Ï´Ù. ÇÊ¿äÇÑ »ó¼ö´Â ÀÌ ¸ðµâ¿¡¼­ Á¤Àǵ˴ϴÙ
SO_* µî, <socket-unix-constants>¸¦ ÂüÁ¶Çϼ¼¿ä).
°ªÀº Á¤¼ö, None ¶Ç´Â ¹öÆÛ¸¦ ³ªÅ¸³»´Â ¹ÙÀÌÆ®·ù °´Ã¼ÀÏ ¼ö ÀÖ½À´Ï´Ù.
ÈÄÀÚÀÇ °æ¿ì È£ÃâÀÚ°¡ ¿Ã¹Ù¸¥ ºñÆ®¸¦ Æ÷ÇÔÇÏ´ÂÁö È®ÀÎÇØ¾ß ÇÕ´Ï´Ù
(¿É¼ÇÀ¸·Î ³»Àå ¸ðµâ struct¸¦ »ç¿ëÇÏ¿© C ±¸Á¶Ã¼¸¦ ¹ÙÀÌÆ®¿­·Î ÀÎÄÚµùÇÏ´Â ¹æ¹ýÀ» ÂüÁ¶Çϼ¼¿ä).
°ªÀÌ NoneÀ¸·Î ¼³Á¤µÈ °æ¿ì optlen Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù.
À̰ÍÀº optval=NULL ¹× optlen=optlenÀ¸·Î setsockopt() C ÇÔ¼ö¸¦ È£ÃâÇÏ´Â °Í°ú µ¿µîÇÕ´Ï´Ù.
-----------------------------------------------------------------
ÀÚ¼¼ÇÑ °Ç ¾Æ·¡ÀÇ ¸µÅ©·Î...
https://docs.python.org/ko/3.10/library/socket.html









Ŭ¶óÀÌ¾ðÆ® Ãø ¼Ò½º

import socket

server_host = 127.0.0.1 # Loopback IP
server_port = 44444

client_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

#connect to server
client_sock.connect((server_host, server_port))
print(f'Server: {server_host}, {server_port} connect nomally')

while True:
    message = input(">>> ")
    client_sock.sendall(message.encode('utf-8'))
    message = client_sock.recv(1024)
    print(f"server: {message.decode()}")
client_sock.close()



¼­¹ö ±¸Çö & ¼­¹ö Ãø ¼Ò½º

import socket

host = '127.0.0.1'
port = 44444

parent_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, socket.IPPROTO_TCP)
parent_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

parent_sock.bind((host, port))
parent_sock.listen(5)
print(f'Server IP: {host}, Port Num: {port} excuting to server...')

child_sock, child_addr = parent_sock.accept()
print(f'accept from {child_addr}')

while True:
    message = child_sock.recv(1024)
    print(f'{child_addr}: {message.decode()}')
    child_sock.sendall(message)

child_sock.close()
parent_sock.close()

  Hit : 2521     Date : 2024/05/28 11:45



    
     [°øÁö] °­Á¸¦ ¿Ã¸®½Ç ¶§´Â ¸»¸Ó¸®¸¦ ´Þ¾ÆÁÖ¼¼¿ä^¤Ñ^ [29] ¸Û¸Û 02/27 21536
1618   realip_finder(asm ver)     ÇØÅ·ÀßÇϰí½Í´Ù
02/05 147
1617   realip_finder     ÇØÅ·ÀßÇϰí½Í´Ù
02/05 205
1616   ¸®´ª½º Ä¿³Î&¿î¿µÃ¼Á¦ °³·Ð (1)     ÇØÅ·ÀßÇϰí½Í´Ù
11/02 539
1615   stack overflow »çÀÌÆ® ¹ø¿ª     ÇØÅ·ÀßÇϰí½Í´Ù
07/09 987
1614   [L.O.B ¿øÁ¤´ë] - troll     ÇØÅ·ÀßÇϰí½Í´Ù
07/08 1258
1613   [L.O.B ¿øÁ¤´ë] - orge     ÇØÅ·ÀßÇϰí½Í´Ù
07/07 1208
1612   [L.O.B ¿øÁ¤´ë] - darkelf     ÇØÅ·ÀßÇϰí½Í´Ù
07/07 1146
1611   [L.O.B ¿øÁ¤´ë] - wolfman     ÇØÅ·ÀßÇϰí½Í´Ù
07/03 1166
1610   [L.O.B ¿øÁ¤´ë] - orc     ÇØÅ·ÀßÇϰí½Í´Ù
07/03 1033
1609   [L.O.B ¿øÁ¤´ë] - goblin     ÇØÅ·ÀßÇϰí½Í´Ù
07/02 1163
1608   [L.O.B ¿øÁ¤´ë] - cobolt     ÇØÅ·ÀßÇϰí½Í´Ù
07/02 1396
1607   [L.O.B ¿øÁ¤´ë] - gremlin     ÇØÅ·ÀßÇϰí½Í´Ù
07/02 1076
1606   [L.O.B ¿øÁ¤´ë] - gate     ÇØÅ·ÀßÇϰí½Í´Ù
07/02 1082
1605   ARP ½ºÇªÇÎ - Part.1 -     ÇØÅ·ÀßÇϰí½Í´Ù
04/20 1651
1604   http ½º´ÏÆÛ ±¸Çö     ÇØÅ·ÀßÇϰí½Í´Ù
04/20 1435
1603   pcapÀ¸·Î ÆÐŶ ½º´ÏÆÛ ±¸ÇöÇϱ⠠   ÇØÅ·ÀßÇϰí½Í´Ù
04/20 1278
1602   ÇØÄ¿½ºÄ𠸸ȭÀÇ ÀÚµ¿À¸·Î ½ºÄµÇÏ´Â ÇÁ·Î±×·¥     ÇØÅ·ÀßÇϰí½Í´Ù
02/18 1659
1601   ½Ã½ºÅÛ ÄÝ ÃßÀû È®ÀåÆÇ[2]     ÇØÅ·ÀßÇϰí½Í´Ù
01/19 1783
1600   °£´ÜÇÑ ½Ã½ºÅÛ ÄÝ ÃßÀû ÇÁ·Î±×·¥ ¸¸µé±â     ÇØÅ·ÀßÇϰí½Í´Ù
01/18 1761
1 [2][3][4][5][6][7][8][9][10]..[81]

Copyright 1999-2026 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org