python_TCP_IP_Parse - 8BitsCoding/RobotMentor GitHub Wiki
ํ๋ก์ ํธ ์ ๋ณด
- ์ ์์์์ผ : 19.09.20
- ์ ์์ข ๋ฃ์ผ : 19.09.22
- ์ธ์ด : Python3.7
- IDE : Pycharm2019.01.01(Community)
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ : PyQt5
- GitHub ์ฃผ์ : https://github.com/GoodayTH/python_tcp_udp_parse
ํ๋ก์ ํธ ๊ณํ
๋ค์ ์ธ ๊ฐ์ง ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์์
ํ์ฑ๋ฌธ์๋ฅผ ์ง์ ํ๋ฉด ํ์ฑํ ๋ฌธ์๊ฐ ๋ช ๊ฐ์ธ์ง ์ถ๋ ฅ
๊ต์ฒด๋ฌธ์๋ฅผ ์ง์ ํ๋ฉด ํ์ฑ๋ฌธ์๋ฅผ ๊ต์ฒด๋ฌธ์๋ก ๋ณ๊ฒฝ
ํ์ฑ๋ฐ์ดํฐ๋ ํ์ฑ๋ฌธ์ ๋ค 3๊ธ์๋ฅผ ์ถ๋ ฅํด์ค๋ค.
ํ๋ก์ ํธ๋ Python TCP/UDP/WEB toolsํ๋ก์ ํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ ๋ค.
ํต์ฌ์ฝ๋
์ฒดํฌ๋ฐ์ค, ๋ผ์ธ์๋ํธ ๋ฃ๊ธฐ
# tcp_udp_web_ui.py
def __init__(self, num):
# ...
# CheckBox
self.lineEdit_parse = QtWidgets.QLineEdit()
self.parse_checkbox = QCheckBox()
# ...
def layout_ui(self):
# ...
self.h_box_5.addWidget(self.lineEdit_parse)
self.h_box_5.addWidget(self.parse_checkbox)
# ...
def ui_translate(self):
# ...
self.parse_checkbox.setText(self._translate("TCP-UDP", "๋ฌธ์์ดํ์ฑ"))
ํน์ ๋ฌธ์์ด ํ์ฑ(๊ฐฏ์ ์นด์ดํธ) ๋ฐฉ๋ฒ
# tcp_logit.py
for client, address in self.client_socket_list:
try:
recv_msg = client.recv(1024)
except Exception as ret:
pass
else:
if recv_msg:
msg = recv_msg.decode('utf-8')
# msg = 'ๆฅ่ชIP:{}็ซฏๅฃ:{}:\n{}\n'.format(address[0], address[1], msg)
if self.parse_checkbox.isChecked() == True:
msg = 'Target IP:{}Port:{}:\n{}\n๋ฌธ์์ด[{}]์ ๊ฐ์{}\n'.format(address[0], address[1], msg,self.lineEdit_parse.text(),msg.count(self.lineEdit_parse.text()))
else:
msg = 'Target IP:{}Port:{}:\n{}\n'.format(address[0], address[1], msg)
self.signal_write_msg.emit(msg)
ํน์ ๋ฌธ์์ด ๊ต์ฒด
recv_msg = self.tcp_socket.recv(1024)
if recv_msg:
msg = recv_msg.decode('utf-8')
if self.parse_checkbox.isChecked() == True:
if self.change_checkbox.isChecked() == True:
count = msg.count(self.lineEdit_parse.text())
msg_change = msg.replace(self.lineEdit_parse.text(), self.lineEdit_change.text(), count)
msg = 'Target IP:{}Port:{}:\nReceived msg:{}\n๋ฌธ์์ด[{}]์ ๊ฐ์{}\nchanged msg:{}\n'.format(
address[0], address[1],
msg, self.lineEdit_parse.text(),
msg.count(self.lineEdit_parse.text()),
msg_change)