关于filewriteline记录日志格式出错的问题
做了个网络服务程序,不时就总被一群坏种扫描漏洞,想着记录下到底发送的是啥,结果文件编码格式被弄坏,想请教各位有经验的朋友如何解决?我用的是默认utf8格式,看了下帮助好象可以使用fileopen指定编码格式,请有经验的朋友指点下修改编码模式可以避免此类问题吗?
日志记录代码
FileWriteLine($LogFile,@YEAR&'-'&@MON&'-'&@MDAY&' '&@HOUR&":"&@MIN&":"&@SEC&" _Rev DATA ---> "& $sReceivedString)
日志文件内容 如下,当记录了这个扫描的内容后文件就不能自动换行了,而且字符间还出现了空格
2024-06-16 02:22:04 _Rev DATA ---> /*� Cookie: mstshash=Administr
2 0 2 4 - 0 6 - 1 6 0 5 : 1 5 : 2 3 _ R e v D A T A E r r o r
2024-06-16 05:15:23 _Rev DATA ---> /*? Cookie: mstshash=Administr
2024-06-16 08:46:23 _Rev TCPRecv ---> Empty Data , Close Socket.2024-06-16 08:46:23 _Rev $hFile = FileOpen($LogFile, 1 + 512)
FileWriteLine($hFile, ...
afan 发表于 2024-6-16 10:04
$hFile = FileOpen($LogFile, 1 + 512)
FileWriteLine($hFile, ...
感谢回复,这就去试试 继续等坏种们扫描,回头反馈结果。 $hFile = FileOpen($LogFile, 1 + 512)好象没有效果
2024-06-16 15:22:37 _Rev DATA ---> /*� Cookie: mstshash=Administr
2024-06-16 15:51:15 _Rev TCPRecv ---> Empty Data , Close Socket.2024-06-16 15:51:15 _Rev
anythinging 发表于 2024-6-16 15:50
$hFile = FileOpen($LogFile, 1 + 512)好象没有效果
2024-06-16 15:22:37 _Rev DATA ---> /*� Co ...
那就是源头 $sReceivedString 问题了 afan 发表于 2024-6-16 15:54
那就是源头 $sReceivedString 问题了
下面的代码,您看有需要修改的地方吗?
目前比较恼人的是存了扫描的代码后,之后 filewriteline 保存的内容就不换行了。
Do
$Socket = TCPAccept($iListenSocket)
Until $Socket <> -1
$sReceived = TCPRecv($Socket, 2048, 1)
$sReceivedString = BinaryToString($sReceived, 4)
FileWriteLine($LogFile,@YEAR&'-'&@MON&'-'&@MDAY&' '&@HOUR&":"&@MIN&":"&@SEC&" _Rev DATA ---> "& $sReceivedString)
刚发现$sReceivedString = BinaryToString($sReceived, 4)是转换成utf8了,我换成ansi试试 afan 发表于 2024-6-16 15:54
那就是源头 $sReceivedString 问题了
我刚把接收端改成BinaryToString($sReceived, 1)后,发送端没改居然没问题,TCPSend($Socket, StringToBinary($SendToClientText, 4)),请教a版,是否可行?
有点忘了为什么当初没有使用默认ansi格式,不会是中文支持方面有问题吧? anythinging 发表于 2024-6-16 16:14
我刚把接收端改成BinaryToString($sReceived, 1)后,发送端没改居然没问题,TCPSend($Socket, StringToBi ...
一般是要两端一致的,避免双子节字符乱码问题 afan 发表于 2024-6-16 16:27
一般是要两端一致的,避免双子节字符乱码问题
a版,我有个想法,如果能得到对方的ip,将其直接加入黑名单,下次它再连直接关闭socket。
请教获得对方ip的方法? 本帖最后由 afan 于 2024-6-16 19:39 编辑
anythinging 发表于 2024-6-16 17:00
a版,我有个想法,如果能得到对方的ip,将其直接加入黑名单,下次它再连直接关闭socket。
请教获得对方ip ...
没搞过,不清楚~ 不过帮助文档 TCPAccept 有例子
afan 发表于 2024-6-16 17:16
没搞过,不清楚~ 不过帮助文档 TCPAccept 有例子
感谢指点,完成了黑名单功能。
日志混乱的问题还在测试中。 到目前为止,经测试ansi也没得到解决,与utf8一样。
2024-06-18 00:50:42 _Rev DATA---> /*? Cookie: mstshash=Administr
2 0 2 4 - 0 6 - 1 8 0 0 : 5 0 : 4 2 _ R e v D A T A N u m E r r o r S a v e I P B l o c k 7 9 . 1 2 4 . 5 6 . 2 0 2 - - - > 1 4 7 . 1 8 5 . 1 3 2 . 2 0 2 & 7 9 . 1 2 4 . 5 6 . 2 0 2 这个坏种发的数据就比较规矩,一点也不添乱
2024-06-17 05:09:49 _Rev DATA ---> SSH-2.0-ZGrab ZGrab SSH Survey
页:
[1]
2