任何人都可以指出一些使用xt_string模块和netfilter的例子或提供一个例子.我想要做的是编写netfilter模块,它将在skb-> data字段中丢弃包含某个字符串的数据包.
我最初尝试简单,strnstr(skb->data, "mystring", strlen("mystring"))但这似乎是不正确的方法来解决这个问题(它似乎没有工作,因为我没有看到任何数据包被丢弃).
提前致谢
任何人都可以看看并建议为什么以下代码段不执行 if 语句的两个分支?脚本不会抛出任何错误。它只是到达期望线并等待它超时。arg1 只是命令行中的一个参数。
set arg1 [lindex $argv 0]
set strname "teststring"
expect {
"prompt#" {
if { [string compare $arg1 $strname] != 0 } {
send "strings different\r"
} else {
send "strings same\r"
}
}
default abort
}
Run Code Online (Sandbox Code Playgroud)
提前致谢。
编辑:
编辑以显示正确的结构。
我正在尝试编写一个函数,它将在xml文件中找到具有指定名称的节点.问题是该函数永远不会找到指定的节点.
xmlNodePtr findNodeByName(xmlNodePtr rootnode, const xmlChar * nodename)
{
xmlNodePtr node = rootnode;
if(node == NULL){
log_err("Document is empty!");
return NULL;
}
while(node != NULL){
if(!xmlStrcmp(node->name, nodename)){
return node;
}
else if(node->children != NULL){
node = node->children;
xmlNodePtr intNode = findNodeByName(node, nodename);
if(intNode != NULL){
return intNode;
}
}
node = node->next;
}
return NULL;
}
Run Code Online (Sandbox Code Playgroud)
我可以在调试器中看到函数确实深入到子节点但仍然返回NULL.
提前致谢.