feat: log host

This commit is contained in:
SunBK201 2023-12-03 22:07:59 +08:00
parent 67a36261b5
commit 9a10768710
3 changed files with 27 additions and 13 deletions

11
http.go
View File

@ -275,3 +275,14 @@ func (hp *HTTPParser) ContentLength() int64 {
hp.contentLengthRead = true hp.contentLengthRead = true
return hp.contentLength return hp.contentLength
} }
// Return the value of the Host header
func (hp *HTTPParser) Host() []byte {
if hp.hostRead {
return hp.host
}
hp.hostRead = true
hp.host, _, _ = hp.FindHeader([]byte("Host"))
return hp.host
}

25
main.go
View File

@ -197,7 +197,7 @@ func MyCopyBuffer(dst io.Writer, src io.Reader, parser *HTTPParser) {
} }
value, start, end := parser.FindHeader([]byte("User-Agent")) value, start, end := parser.FindHeader([]byte("User-Agent"))
if value != nil && end > start { if value != nil && end > start {
printAndLog(fmt.Sprintf("Hit User-Agent: %s", string(value)), logger, syslog.LOG_INFO) printAndLog(fmt.Sprintf("[%s] Hit User-Agent: %s", string(parser.Host()), string(value)), logger, syslog.LOG_INFO)
for i := start; i < end; i++ { for i := start; i < end; i++ {
buf[i] = 32 buf[i] = 32
} }
@ -208,7 +208,7 @@ func MyCopyBuffer(dst io.Writer, src io.Reader, parser *HTTPParser) {
buf[start+i] = payloadByte[i] buf[start+i] = payloadByte[i]
} }
} else { } else {
printAndLog("not found User-Agent", logger, syslog.LOG_INFO) printAndLog(fmt.Sprintf("[%s] Not found User-Agent", string(parser.Host())), logger, syslog.LOG_INFO)
} }
bodyLen := int(parser.ContentLength()) bodyLen := int(parser.ContentLength())
if bodyLen == -1 { if bodyLen == -1 {
@ -257,23 +257,26 @@ func MyCopyBuffer(dst io.Writer, src io.Reader, parser *HTTPParser) {
func printAndLog(mes string, logger *syslog.Writer, level syslog.Priority) { func printAndLog(mes string, logger *syslog.Writer, level syslog.Priority) {
fmt.Println(mes) fmt.Println(mes)
return var err error
switch level { switch level {
case syslog.LOG_INFO: case syslog.LOG_INFO:
logger.Info(mes) err = logger.Info(mes)
case syslog.LOG_ERR: case syslog.LOG_ERR:
logger.Err(mes) err = logger.Err(mes)
case syslog.LOG_DEBUG: case syslog.LOG_DEBUG:
logger.Debug(mes) err = logger.Debug(mes)
case syslog.LOG_WARNING: case syslog.LOG_WARNING:
logger.Warning(mes) err = logger.Warning(mes)
case syslog.LOG_CRIT: case syslog.LOG_CRIT:
logger.Crit(mes) err = logger.Crit(mes)
case syslog.LOG_ALERT: case syslog.LOG_ALERT:
logger.Alert(mes) err = logger.Alert(mes)
case syslog.LOG_EMERG: case syslog.LOG_EMERG:
logger.Emerg(mes) err = logger.Emerg(mes)
case syslog.LOG_NOTICE: case syslog.LOG_NOTICE:
logger.Notice(mes) err = logger.Notice(mes)
}
if err != nil {
fmt.Println("syslog error:", err)
} }
} }

View File

@ -2,13 +2,13 @@
START=99 START=99
start(){ start(){
echo "ua3f is starting"
/root/ua3f & /root/ua3f &
echo "ua3f is start"
} }
stop(){ stop(){
echo "ua3f is stopping"
killall ua3f killall ua3f
echo "ua3f is stop"
} }
restart(){ restart(){