我想传输一个在linux内核中包含有效tcp和ip报头的skb。它应该在不被路由的情况下输出特定的接口。我的问题是,我不能使用dev_queue_xmit,因为我不知道目标的mac-地址。我用arp_find查找mac地址的尝试失败了:
...
mh = (struct ethhdr *) skb_push(skb, sizeof(struct ethhdr));
...
arp_find(mh->h_dest, skb); //this or the next line
val = dev_queue_xmit(skb); //crashes kernel
ip_local_out的实
我有一个简单的Python脚本,它使用套接字模块发送UDP数据包。这个脚本在我的Windows机器上运行得很好,但在我的Ubuntu Linux PC上,它发送的数据包略有不同。在Windows上,IP报头中的标志字段为零,但在Linux上使用相同的代码创建了一个标志字段设置为4的数据包。我想修改我的脚本,使其在Windows和Linux上具有一致的行为。
是否有方法控制套接字模块中的标志字段?或者,这是我必须在Linux中更改的设置吗?
我正在试图了解什么是linux服务/进程涉及到的tcp 3-双向握手。例如,谁为SYN请求发送拒绝标志。
示例:端口8088正在监听,8089正在打开。在两个端口上发出连接请求后,下面的tcpdump输出。
for 8089:
$ sudo tcpdump -i any -nn port 8088 or port 8089
04:23:12.260621 IP 192.168.112.129.52298 > 192.168.112.129.8089: Flags [S], seq 300539809, win 43690, options [mss 65495,sackOK,TS val
我正在测试思科3850 L3交换机上的ACL:
C3850#show ip access-lists 101
Extended IP access list 101
10 deny ip any any fragments
20 permit ip any any (268 matches)
我在ISP侧接口in上应用了访问列表:
interface TenGigabitEthernet1/1/1
description ISP
no switchport
ip address 61.XX.XX.158 255.255.255.252
ip access-group 1