2013-07-07 13 views
0

你好,我想弄清楚如何使用pythons套接字模塊發送FIN/ACK標誌。套接字標誌如何使用它們與Python

我一直沒能找到我需要在這

這個信息是我在看

socket.send(data, flags="FA") 

顯然不是正確的概念

我不希望使用Scapy的爲此,我很感激使用pythons套接字模塊。任何建議不勝感激

感謝您的幫助。

*歡呼

+0

用戶模式代碼不能直接發送'FIN'或'ACK'包(或'SYN'包,對於這個問題) - 這就是全部由處理內核中的TCP堆棧。用戶代碼只是通過要求操作系統使用系統調用send(2),recv(2),shutdown(2)和close(2)來間接發送這些數據包。 –

回答

3

如果您想要讓對方知道你關閉連接,你可以使用

# s is a socket.socket object 
s.shutdown(socket.SHUT_RDWR) 
s.close() 

flags參數send有不同含義,並可用於發送MSG_OOBMSG_DONTROUTE標誌 - 請參閱man send的列表。

,這些標誌將做使用:

s.send(data, flags=socket.MSG_OOB | socket.MSG_DONTROUTE) 
+0

非常感謝您的幫助!只需注意s.send(data,socket.MSG_OOB | socket.MSG_DONTROUTE)爲我工作*乾杯 – user2557365