python socket监听传入的netcat发送到mysql

时间:2017-09-20 23:30:49

标签: python sockets

我有一个远程服务器,通过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的变量以写入我的数据库?

我很感激任何帮助。

0 个答案:

没有答案