Конфиг, чтобы сделать только пакет приема pcap

338
Groot

Я пытаюсь использовать pcap для изменения пакета перед отправкой. Например, у меня есть сервер (под управлением Ubuntu), прослушивающий порт 8000. Прежде чем он отправит SYN-ACK для входящего пакета SYN, я пытаюсь изменить SYN-ACK с помощью pcap.

Пока что я могу получить SYN-ACK, сгенерированный ОС, в pcap, изменить и отправить его. Но отправляются два пакета: (1) оригинальный пакет SYN-ACK, сгенерированный ОС, (2) модифицированный пакет pcap.

Я знаю, что это не удивительно, поскольку ОС отправляет копию пакета в pcap для обработки, а исходный пакет отправляется отдельно.

Когда я отбросил исходящий пакет SYN-ACK (сгенерированный ОС) с помощью iptables, я даже не смог получить SYN-ACK в pcap.

У меня такой вопрос: возможно ли отбросить оригинальный пакет SYN-ACK и отправить только модифицированный пакет pcap?

Спасибо!

0

1 ответ на вопрос

0
Paul

Lets say your target IP is 8.8.8.8

On your origin host, set up a route like this:

route 8.8.8.8 mask 255.255.255.255 gateway 192.168.1.254 

Where the gateway IP address is on the local network and doesn't exist (this isn't the actual command, use the syntax dependent on the route tool you use).

Then add an arp entry:

arp -s 192.168.1.254 11:22:33:44:55:66 

Now any packets from the host destined for 8.8.8.8 will be sent to this mac address, and go nowhere.

Now you can intercept the packet, do your modification, but also modify the destination MAC to be your router MAC so that it goes out correctly. Reply packets will automatically go to the server.

Что ж, спасибо @Paul, но я хочу только заблокировать SYN-ACK от ОС с портом src 8000. Остальная часть трафика от / до 8.8.8.8 должна обрабатываться ОС. Groot 10 лет назад 0
Кроме того, пакет, который я получил в pcap, также получает dest. макинтош 11: 22: 33: 44: 55: 66. Я могу изменить DST. Mac через pcap, но, вероятно, было бы неплохо иметь более чистое решение. :-) Groot 10 лет назад 0
Предполагается, что вы получите MAC таким образом - это была последняя строка моего ответа. Если вы можете перехватить один пакет, вы можете перехватить их все и просто обновить DST mac для них. Вы не сможете остановить синхронизацию, выходящую из сервера, поэтому вам необходимо полностью контролировать поток трафика. Paul 10 лет назад 0
ааа! Я думаю, что я могу начать с этим, и если я найду что-то лучшее в будущем - я опубликую это здесь. Спасибо за вашу помощь! --IamGroot Groot 10 лет назад 0