Bukankah seharusnya itu mungkin? Anggap saja saya tidak butuh jawaban, saya hanya ingin mengirim permintaan. Tidakkah kita dapat mengubah tcp / ip header, karena komputer kita mengirimkannya? Saya mungkin kehilangan sesuatu, hanya benar-benar ingin tahu, mempelajarinya di universitas.
-H/--header <header>
(HTTP) Extra header to use when getting a web page. You may
specify any number of extra headers. Note that if you should add
a custom header that has the same name as one of the internal
ones curl would use, your externally set header will be used
instead of the internal one. This allows you to make even
trickier stuff than curl would normally do. You should not
replace internally set headers without knowing perfectly well
what you’re doing. Remove an internal header by giving a
replacement without content on the right side of the colon,
as in: -H "Host:".
Saya ingin mengubah IP sumber saya pikir, dan itu tidak memungkinkan sejauh yang saya tahu ...
tmm
Ke protokol mana? Saya telah menambahkan contoh dunia nyata dari perubahan alamat IP sumber yang tercermin dalam log akses apache.
geedoubleya
2
http http http http
tmm
Ini tidak akan mengubah IP yang dilihat mesin terlampir pada permintaan TCP mentah.
de Raad
3
Saya pikir jawaban yang diterima tidak akan benar-benar membantu Anda menipu IP Anda sepanjang jalan. Anda tidak dapat benar-benar menipu IP sumber Anda kecuali Anda memiliki akses ke router yang dekat dengan mesin target.
TCP bekerja pada mekanisme jabat tangan 3 arah. Anda tidak akan dapat menyelesaikan jabat tangan ini karena respons jabat tangan dari mesin target akan menuju ke IP palsu Anda dan bukan milik Anda sendiri (kecuali, seperti yang dikatakan sebelumnya, Anda mengendalikan router-router terdekatnya dan mengarahkan respons ke diri Anda sendiri).
PS: Anda mungkin dapat mengirim pesan UDP, tetapi saya belum mencobanya.
Karena pertanyaan awal bertanya tentang bagaimana hal ini akan dilakukan curl, saya berasumsi mereka mencoba mengakses beberapa sumber HTTP. HTTP over UDP bukanlah sesuatu yang curlmendukung AFAIK juga bukan sesuatu yang eksperimental pada saat ini.
IvanGoneKrazy
1
Dimungkinkan untuk mengubah alamat IP sumber, jika antarmuka jaringan lokal Anda memiliki beberapa alamat IP.
Misalkan Anda memiliki server yang memiliki 2 alamat IP, 1.1.1.10dan 2.2.2.20:
$ ip route
default via 1.1.1.193 dev eth0
1.1.1.192/27 via 1.1.1.193 dev eth0
1.1.1.192/27 dev eth0 proto kernel scope link src 1.1.1.10
2.2.2.20 via 2.2.2.20 dev eth0 scope link
Anda dapat memverifikasi alamat IP publik Anda saat ini dengan layanan web ifconfig.co yang mengagumkan :
$ curl -4 ifconfig.co
1.1.1.10
Untuk mengakses layanan web ifconfig.co menggunakan alamat IP lainnya ( 2.2.2.20), Anda dapat membuat rute berdasarkan alamat IP server target. Gunakan dig untuk menemukan alamat IP target dari Acatatan DNS :
$ dig ifconfig.co
...
ifconfig.co. 39 IN A 104.28.18.94
ifconfig.co. 39 IN A 104.28.19.94
...
Sekarang tambahkan rute khusus untuk alamat IP ini:
$ ip route add 104.28.18.94/32 via 1.1.1.193 dev eth0 src 2.2.2.20
$ ip route add 104.28.19.94/32 via 1.1.1.193 dev eth0 src 2.2.2.20
Menjalankan curl lagi, Anda melihat bahwa Anda menggunakan alamat IP sumber lain:
$ curl -4 ifconfig.co
2.2.2.20
Juga, informasi perutean Anda diperbarui:
$ ip route
default via 1.1.1.193 dev eth0
1.1.1.192/27 via 1.1.1.193 dev eth0
1.1.1.192/27 dev eth0 proto kernel scope link src 1.1.1.10
2.2.2.20 via 2.2.2.20 dev eth0 scope link
104.28.18.94 via 1.1.1.193 dev eth0 src 2.2.2.20
104.28.19.94 via 1.1.1.193 dev eth0 src 2.2.2.20
Catatan: ini hanya berfungsi jika alamat IP sumber dapat diselesaikan ke server Anda, jika tidak jabat tangan TCP 3 arah akan gagal, seperti yang ditunjukkan di sini .
Saya pikir jawaban yang diterima tidak akan benar-benar membantu Anda menipu IP Anda sepanjang jalan. Anda tidak dapat benar-benar menipu IP sumber Anda kecuali Anda memiliki akses ke router yang dekat dengan mesin target.
TCP bekerja pada mekanisme jabat tangan 3 arah. Anda tidak akan dapat menyelesaikan jabat tangan ini karena respons jabat tangan dari mesin target akan menuju ke IP palsu Anda dan bukan milik Anda sendiri (kecuali, seperti yang dikatakan sebelumnya, Anda mengendalikan router-router terdekatnya dan mengarahkan respons ke diri Anda sendiri).
PS: Anda mungkin dapat mengirim pesan UDP, tetapi saya belum mencobanya.
sumber
curl
, saya berasumsi mereka mencoba mengakses beberapa sumber HTTP. HTTP over UDP bukanlah sesuatu yangcurl
mendukung AFAIK juga bukan sesuatu yang eksperimental pada saat ini.Dimungkinkan untuk mengubah alamat IP sumber, jika antarmuka jaringan lokal Anda memiliki beberapa alamat IP.
Misalkan Anda memiliki server yang memiliki 2 alamat IP,
1.1.1.10
dan2.2.2.20
:Anda dapat memverifikasi alamat IP publik Anda saat ini dengan layanan web ifconfig.co yang mengagumkan :
Untuk mengakses layanan web ifconfig.co menggunakan alamat IP lainnya (
2.2.2.20
), Anda dapat membuat rute berdasarkan alamat IP server target. Gunakan dig untuk menemukan alamat IP target dariA
catatan DNS :Sekarang tambahkan rute khusus untuk alamat IP ini:
Menjalankan curl lagi, Anda melihat bahwa Anda menggunakan alamat IP sumber lain:
Juga, informasi perutean Anda diperbarui:
Catatan: ini hanya berfungsi jika alamat IP sumber dapat diselesaikan ke server Anda, jika tidak jabat tangan TCP 3 arah akan gagal, seperti yang ditunjukkan di sini .
sumber