我有一个远程服务器,通过netcat每隔5分钟发送一次主机名,ip和时间:
/bin/echo 'host433 192.168.1.1 2017-09-20-21:55:31'|/usr/bin/nc 192.50.38.188 10000
我的监听服务器收到它就好了:
nc -lk 10000
host433 192.168.1.1 2017-09-20-21:55:31
我正在处理一个python脚本,它将执行nc -l所做的事情,但会接收传入的数据并将其写入数据库。这就是我到目前为止所做的:
#!/usr/bin/python
import sys,socket
import MySQLdb as dbi
con = dbi.connect("localhost","root","password","hostips")
cur = con.cursor()
s = socket.socket()
port = 10000
s.bind(('', port))
s.listen(5)
while True:
# Establish connection with client.
c, addr = s.accept()
clean = addr[0]
SQL = ("INSERT INTO hostips(ID, IP, Time)"
" VALUES('hostname', 'ip', 'timestamp')")
try:
cur.execute(SQL)
con.commit()
except dbi.Error,e:
sys.stderr.write("SQL failed: "+SQL+"\n")
sys.stdout.flush()
c.close()
我的问题是如何解析传入的数据并将它们设置为hostname,ip和timestamp的变量以写入我的数据库?
我很感激任何帮助。